放在函数后面的const是什么意思?求答案


只有常成员函数才有资格操作常量或常对象,没有使用const关键字颤滑山说明的成员函数不能用来操作常对象。常成员函数说明格式如下:
<类型说明符<函数名(<参数表) const;
其中,const是加在函数说明后茄中面的类型修饰符,它是函数类型的一个组成部分,因此,在函数实现部分也要带const关键字。下面举一例子说明常成员函数的特征。例子:class Coo{public:
Coo() : a(0){}
int getA() const //常量成员函数{++a;//编译错误
return this-a;}private:
mutable int a;};
getA() 后面的 const 表明 getA()不会修改类的成员变量,
但也不能确定,可以用mutable改变这一限制.
用const结让并尾的成员函数只能调用其他const结尾的成员函数。因为其他函数并不能保证同样不修改类的成员变量
成员函数后加const,表示:类作者提示你,这个函数不会导致对象状态改变
可以理解为"表示这个函数不会修改任何成员变量"
但不可绝对化。其实,还是可以修改由mutable关键字修饰的成员变量的。