【发布时间】:2011-01-10 13:50:44
【问题描述】:
我在类中看到了很多将 const 关键字放在函数之后的用法,所以我想知道它是关于什么的。我在这里阅读了smth:http://duramecho.com/ComputerInformation/WhyHowCppConst.html。
它说使用 const 是因为函数“可以尝试更改对象中的任何成员变量”。如果这是真的,那么它应该在任何地方使用,因为我不希望以任何方式更改或更改任何成员变量。
class Class2
{ void Method1() const;
int MemberVariable1;}
那么, const 的真正定义和用途是什么?
【问题讨论】:
-
如果你的成员变量从不改变,为什么还要有成员变量?
-
因为他想要一个不可变的类?这并非不合理。
-
我不是一个真正的 C++ 人,所以这更像是一个有趣的问题,而不是一个“陷阱”问题。如果您希望它真正不可变,为什么不将所有成员声明为“const”?还是你们都将成员声明为 const 并将方法声明为 const?
-
我可能只是将方法声明为 const,但您可以两者都做。不过,这并不是一个真正适合在评论中描述的主题。
-
@GMan:令人遗憾的是,人们根据他们预期的“声誉收入”选择性地回答问题,而不是仅仅向有需要的人伸出援助之手。