我的问题标题几乎要求一切.我最近发现在C++中通过const引用传递许多值并将类中的某些方法标记为常量方法是很好的编程习惯.现在,我有一个库,我已经为自己写了一段时间,现在完全没有正确性,所以我想开始一点一点地纠正.
在哪些具体情况下,我应该使方法不变?到目前为止,我知道"getter"方法通常应该是常量的(因为一个代码中的代码不应该修改任何类变量),但我是否对所有被认为是getter的方法,或者只是特定的方法呢?除了getter方法之外,还应该使其他方法的方法保持不变?
但对于所有被认为是吸气剂的方法,还是仅针对特定方法,我会这样做吗?
对于不修改非可变成员的所有方法,您应该这样做.它们不仅包括吸气功能,而且任何重载操作符的功能,比如operator==
,operator!=
,operator<
.