在这种情况下为什么要使用“const”?
std::string List::reqClubName() const
{
return m_Club;
}
谢谢
最佳答案
禁止修改成员并不是将成员函数限定为 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
后缀应该是您的默认方法,除非您确实需要修改数据成员。
关于c++ - 为什么在没有参数的方法中使用const?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22889661/