
const不同用法的区别
const 修饰变量
特点
1、const修饰的变量,一经初始化便不可在程序其它地方进行更改;例如
1 | const int buf = 512; |
2、const变量可用于任何不改变不改变变量值的操作,如复制等;
3、禁止对const变量进行赋值
共享 const 变量
多文件中同名的const变量间被视为在各个文件中独立定义的变量,若要在多个文件中共享同一个const变量的话,需要在其余文件中声明该变量,且在原定义和各声明前面都加上extern关键字
引用和 const
严格意义上并没有const引用这一说法,因为引用并非一个对象(Object),且引用本身在初始化后就不能改变。所谓引用指向const对象或非const对象,只是影响我们能够对其进行的操作(不能通过引用对const对象进行赋值),而并不是改变引用的指向
指针和 const
指针可以拥有两种const修饰
- Top-level const
- Low-level const
Top-level const
Top-level const表明该指针对象本身为const对象,它的值一经初始化变不可被改变(指针对象存放的地址),Top-level const能修饰所有对象类型;
Low-level const
Low-level const只代表指针能够指向const对象,同时也能指向非const对象,但是无法通过指针向对象赋值,上述的引用只有这种const用法
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自COMBER'S BLOG




