1、使用const修饰的变量,是只读变量,不能够修改。
const int x=2;
x=3;
int *p=&x; 该定义不被允许,不能够存在任何修改const x可能性发生。
若修改为const int * p=&x; 则可行。
则不能够修改x的值。
2、const修饰指针
int x=2;
const int *p=&x; 与int const *p=&x; 等价。即const修饰*p, 不能通过修改*p修改x的值。
int * const p=&x; 此时const修饰变量p,p不能修改。不能够通过修改指针变量p来指向其他的地址。
3、const修饰引用
int x=2;
const int &y=x; 此时const修饰引用y,不能够通过修改别名y来修改x的值。但是x是可以修改的。
4、const修饰函数
int func() const;表示该函数为只读函数,不允许修改其中的数据成员的值。
cosnt int *func();表示返回的是指针,所指向的值是常量。 (就是保护指针和引用的内容不被修改,归根究底就是使得函数调用表达式不能作为左值。)
总结:使用const修饰,就表示只读,不能够修改。
参考:https://blog.csdn.net/kaida1234/article/details/80403534