【发布时间】:2018-03-15 17:52:53
【问题描述】:
我对以下代码有疑问。当它在类中声明函数 get_name() 时,将 const 放在它前面的目的是什么。如果我把它取下来会怎样?
class College
{
string name;
const string get_name()
{ return name; }
void set_name(string n)
{ name = n; }
};
int main()
{
College college_obj;
return 0;
}
【问题讨论】:
-
你介意告诉我在什么情况下这个 'const' 会有所作为吗?
-
我的建议是:始终将 const 放在它所指的右侧(
int const n、int const* ptr、int * const cptr)。一开始可能看起来不熟悉,但避免混淆 const 所属的位置。当然,你也需要能够反过来阅读,但你会换个思路…… -
std::string const get_name()vs.std::string get_name() const- 第一个变体: const 指的是字符串,第二个: 指整个函数。你不同意这样更清楚吗?
标签: c++