const 关键字
C++ 中 const
有几个需要注意的地方:
##const 成员函数
若要能够让const object使用成员函数,就需要在函数的声明后面加上const关键字。为什么呢?因为成员函数中的this是一个指向非const类型的const指针,也就是指针所保存的地址虽然不能改变,但是指针所指向的对象是可以被改变的。这样一来,如果使用const类型的对象调用成员函数,就相当于要把一个const对象的地址交给一个非const型指针,这当然时不允许的了。代码示例如下:
|
|
##const 与指针
const用来修饰指针有两种可能,一个是用来限制指针的地址,一个是用来限制指针所指向的对象。如下就是用来限制所指对象:
|
|
而如下则是用来限制地址:
|
|
##const 与reference
reference 是本来就不能改变所指对象的,所以就不存
int &const ra
其实,要想用好const,不仅仅熟悉const的语法,更重要的是对自己的程序有深刻的认识,知道什么是该变的,什么是不该变的。