(1) const 修饰一个常量,表示不可修改
比如修饰指针和引用
修饰指针时const 靠近类型还是*决定不可变的是指针这个变量本身还是指针所指向的变量
比如
int b=100;
const int *a=&b; //指针本身不可变,也即是不能实现a++,a--这种类似修改指针的行为
int const *a=&b;//这里则是a指向的内容不能变,即(*a)之类的修改所指向变量的行为出错
const int &it=b;
it++;//出错,常引用不可更改变量的值
(2) 函数安全性,修饰函数参数
对于输入参数为指针或引用的情况,如果不希望修改输入参数的值,但对于对象,为了高效传递,通常传递引用或指针,因此程序中可能会修改这些值,为了防止这种情况,通常加const修饰
(3)修饰函数返回值
当函数返回引用或指针的时候,防止修改返回值
(4)修饰类成员函数
如果不希望成员函数修改 类成员的值,可以使用const修饰
如果在编写const成员函数时,不慎修改了数据成员,或者调用了其它非const成员函数,编译器将指出错误,这无疑会提高程序的健壮性