在C语言中:
1、修饰变量
const修饰的变量不可以改变,为只读。(C语言中,可以用强制类型转换,通过指针来改变变量的值)
2、修饰指针
如果const位于*的右侧,(eg. char *const p),const就是修饰指针本身,即指针本身是常量;
如果const位于*的左侧,(eg. char const *p),则const就是用来修饰指针所指向的变量,即指针指向为常量。
3、修饰函数形参
用const修饰函数参数,传递过来的参数在函数内不可以改变。
4、修饰函数返回值
与修饰变量和指针的含义基本相同。
在C++中:
1、修饰变量
编译器会将被const修饰的变量放在编译器的符号表中,除非使用volatile来避免编译器优化。因此即使使用强制类型转换,也不能改变变量的值。
2、修饰引用
const int & 与 int const &一样,无法修改引用的值。
3、修饰成员函数
用const修饰的类成员函数,在该函数体内不能改变该类对象的任何成员变量,也不能调用类中任何非const成员函数。
4、修饰对象
该对象的任何成员变量都不能被修改。