1)用带关键词const去声明变量是,则该变量不可以再通过赋值、增量、减量来修改该值。
例如:
const int money; //把money 限定为一个常量
money = 100; // 该种赋值不允许
const int money = 100; // 用const 初始化时可以的
const 声明的变量又称只读变量,因为const 声明过的变量的值不再轻易改变。
2)在指针声明中使用const
例如:
const int* a;
int const *a;
const int* a;
a 是一个指向const int型的指针,是一个地址值。a所指向的内存单元不可改写,即存储在a单元int数值不可改写,所以(*a)++是不允许的,但a可以改写,所以a++是允许的。
int* const a;
a是一个指向int型的const指针,是一个地址值,不可改写。a指向的单元,即*a是可以改写的,但a不允许改写。
int const * const a;
a是一个指向const int型的const指针,因此*a和a都不允许改写
const给读代码的人传达非常有用的信息。
比如一个函数的参数是const char *,你在调用这个函数时就可以放心地传给它char *或const char *指针,而不必担心指针所指的内存单元被改写。
尽可能多地使用const限定符,把不该变的都声明成只读,这样可以依靠编译器检查程序中的Bug,防止意外改写数据。
const对编译器优化是一个有用的提示,编译器也许会把const变量优化成常量