std::string List::reqClubName() const
{
return m_Club;
}
由于
答案 0 :(得分:4)
禁止修改成员并不是将成员函数限定为const
的唯一原因。无论您是否要修改成员,如果成员函数标记为const
,您只能 通过const
上下文调用对象上的成员函数:
#include <iostream>
#include <string>
struct List
{
std::string reqClubName()
{
return m_Club;
}
private:
std::string m_Club;
};
int main()
{
const List l;
std::cout << l.reqClubName();
// ^ illegal: `l` is `const` but, `List::reqClubName` is not
}
语言和编译器都不关心reqClubName
是否尝试修改对象;你的程序不会编译。
因此,const
后缀应该是您的默认方法,除非您 需要修改数据成员。
答案 1 :(得分:1)
成员函数之后的const
表示该函数不会修改它所属的类中的成员数据。