C++中类成员函数后面加const的作用,这个问题频繁出现在面试中,从我参加过的几次面试中都被涉及到,比如字节,2345浏览器等,这个问题会非常基础,而且很考验C++的基础。const的字面意思为常数,不变的,只读。
class Rabbit{
private int m_nTo;
public:
A() : m_nTo(0){}
int getToValue()const
{
return m_nTo; //this->m_nTo
}
};
如果问你这道题,我觉得可以这样回答。const加到非静态成员函数后面加const,表示这个函数隐含传入的this为const指针,也就是const指针指向的数据无法改动了。
当然如果还有补充,你可以讲一下如果加到成员函数或者静态成员后面会产生编译错误,用这个的场景就是不需要修改的成员函数。还有个mutable例外,但是我觉得这个不要讲。
如果你还能有补充,我会建议你谈