- 限定变量为常量,一经定义无法修改,必须初始化;
- 默认只在文件内有效,若想在多个文件中共享,需引入
extern
关键字; 指向常量的引用/指针
不能修改其绑定的对象;
①引用/指针是常量,可以绑定任何对象
(常量引用不能修改其绑定的对象,绑定任何对象都不会出错)
②对象是常量,引用/指针必须也是常量
(非常量引用可以修改其绑定的对象,但常量对象不能修改,会出错)- 区分
顶层const
和底层const
:一个指针本身添加const限定符就是顶层const,而指针所指的对象添加const限定符就是底层const。
两个用途:① 避免对象拷贝出错,底层const不能赋值给非底层const
。
② const_cast,强制转换掉表达式的const性质,const_cast只对底层const起作用
。
5.constexpr 定义顶层const
,用法如下:
参考:
1.C++的顶层const和底层const的理解