const的作用
- int const* a 相当于const int* a ,即指针指向的内容,其内容为常量,即不能改变*a的值。
int num = 10;
const int* a = #
*a= 11; //错误,不能修改内容,注意可以修改num的值
- int* const a 表示指针为常量,不能修改其指向,即不能改变指针a的值。
int num1 = 15;
int * const b = &num1;
int num2 = 12;
b = &num2;//错误,不能修改指向
- 用于修饰函数时,用于函数名前,表示返回值为常量,放在函数后,表示函数不能修改成员变量的值 。
const什么时候为只读变量?const什么时候是常量?
const常量的判别标准:
- 只有字面量初始化的const常量才会进入符号表,如const int a=10;
- 使用其他变量初始化的const常量仍然是只读变量,如const int *a =#
- 被volatile修饰的const常量不会进入符号表
注意:
1.const引用的类型与初始化变量的类型相同时:初始化变量成为只读变量
2.const引用的类型与初始化变量的类型不相同时:初生成一个新的只读变量
本文详细介绍了C++中const关键字的用法,包括const修饰指针的两种情况:指针指向的内容不可变和指针本身不可变。此外,还讲解了const在函数声明中的作用,以及const引用的规则。重点讨论了const常量的判别标准,特别是字面量初始化和非字面量初始化的区别。最后,提到了volatile修饰的const常量的特性。
4562

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



