【发布时间】:2013-02-21 18:12:51
【问题描述】:
起初,我的印象是成员变量在 C++ 类中通常应该是 const,除非我希望它的成员函数在内部为每个对象修改这些变量(我通常将变量放入私有:)。
但我现在发现我可能一直都错了。例如我不能再分配给这样的对象了。我什至不能做 move-assign。
以 std::string 为例。你可以这样做:
std::string foo("foo");
foo = std::string("bar");
这意味着在内部,std::string 只有非常量成员变量,对吧?
我的想法对吗?对于 C++ 来说相对较新,它的新思维有点奇怪。 const 的目的可能不是我想的那样。
那么拥有 const 成员变量的实际目的是什么?
【问题讨论】:
标签: c++