使用const修饰的变量不能再被改变
const float PI = 3.14f;
PI = 3.15F//报错,const修饰的变量不能被修改
但是const变量可以作为变量正常使用
const float PI = 3.14F;
int radius = 5;
float area = PI * pow(radius, 2);
由于const的不可变性,所以const修饰的变量必须在定义时初始化
const int a;//错误
默认情况下,const对象仅在当前的文件生效,如果要跨文件,必须使用extern修饰符
extern const float PI = 3.14F;
const的引用
int age = 29;
const int& _age = age;
const int ab1 = 30;
const int& _ab1 = ab1;
int& _ab2 = ab1;//非法
我们看到上面两个引用都是合法的。
同样const的引用也是不能被修改的。
const和指针
由于指针是对象,所以允许把指针本身定义为const,表示指向的地址为常量
int a = 19;
int* const a1 = &a;
a = 20;
cout << *a1 << endl;
*a1 = 22;
cout << *a1<< " "<< a << endl;
如上所示,可以看到我们可以通过修改*a1的值,来改变a的值。因为常量指针表示的是指向的地址不可改变,而不是该地址上的值不能改变。
C++中const关键字的使用与特性
5000

被折叠的 条评论
为什么被折叠?



