在取指针方面,const有略复杂的东西,但是常规的、合理的操作不应该涉及到,因为const int是用来保存一些全局常量的,这些常量在编译期可以改,在运行期不能改,听起来这像宏,其实这确实就是用来取代宏的: #define PI 3.14 const float Pi = 3.14; 如果你的代码里用到了100次 PI (宏),你的代码中会保存100个3.14这个常数,鉴于使用常数进行运算的机器代码很多时候会比使用变量来的长,如果你换用100次Pi(const float),程序编译后的机器码里就不需要出现100次常量3.14,只要在需要的时候引用存有3.14的常量就行了,特别在复杂的运算里,3.14这个常量(其实是无法修改的变量)会被一直装载在寄存器里带来一些性能提升。 清楚了const的用法,const int和int的区别就很简单,int i里的i可以被更改,是真正的变量,const int i的i不可以被更改,是有着变量外衣的常数。
const在 c++ 中使用比较广泛,主要起着限定的 作用 ,即在程序运行过程中限定的内容不会去改变别的变量或者自身改变,接下来具体介绍const的用法 #1 const在常量的应用 这里主要是 int const+常量与const int +常量可以替换使用 下面在程序中试图修改常量的值 int main(void) int const a[7]; //错误必须赋初值 const int m=7;//正确 m=8;//错误表达式必须是可修改的左值 system("pause");
文章目录const关键字总结是什么初始化怎么用核心思想const引用指向const对象的指针&const指针多文件顶层const概念 以const(即单词constant)创建的变量的值不能改变,因为值不能修改,可以理解为常量,但是不存在真正的常量,只是在const的 作用 域中,该变量才不能被修改,超过了这个const的 作用 域,有可能是可以修改。 注意:const仅表示不能改变,不表示具体的变量类型,按照从右向左的方式来理解变量的命名,首先要说明这是一个什么类型的变量,其 1. #define 宏常量 : #define 常量名 常量值(通常定义在文件上方,表示一个常量) 2. cost 修饰的变量 cost 数据类型 常量名=常量值(通常在变量定义之前加关键字cost) 标识符命名规则: 1. 标识符不能是关键字; 2. 标识符只能有字符、数字、下划线组成; 3. 第一个字符必须为字符或下划线;
`const int *p` 和 ` int const *p` 都是指向常量整型的指针,它们的 区别 在于指针本身的常量性质。 `const int *p` 的意思是指针 `p` 指向的是一个常量整型变量,也就是说通过 `p` 指针是不能修改所指向的变量的值的,但是指针本身是可以修改的,即可以指向其它的常量整型变量。 而 ` int const *p` 的意思是指针 `p` 本身是一个指向常量整型变量的指针,也就是说通过 `p` 指针是不能修改所指向的变量的值的,同时指针本身也是不能修改的,即不能指向其它的常量整型变量。 const int a = 10; const int b = 20; const int *p1 = &a; // 指针p1指向a常量 p1 = &b; // 正确,p1可以指向其它常量整型变量 int c = 30; int d = 40; int const *p2 = &c; // 指针p2指向c常量 p2 = &d; // 正确,p2可以指向其它常量整型变量