新手在阅读C++书籍的是时候会经常看到一个类中public函数末尾有const修饰符。
如:
class Demo{
public :
int oper() const;
};
需要注意编译器隐式地将类中定义的成员函数当做内联(inline)函数。
当成员函数被调用时,编译器调用改函数对象的引用作为函数的第一个实参传递给该函数,用于初始化隐式形参this。
成员函数末尾加上const限定符用作于改变this形参的类型,这种成员函数被称为常量成员函数。
由于this是指向const对象的指针,常量成员函数不能修改调用该函数的对象。
常量成员函数的另一个不同是,可以被const对象和非const对象调用,而在通常情况下,const对象调用非常量成员函数会报错。