示例类:
int i;
void Classname::a1(const Classname& var){
var.a2(*this);
}
void Classname::a2(const Classname& var){
var.i = 100;
}
如何在不向const添加const的情况下完成这项工作?
答案 0 :(得分:3)
简短回答 - 你不应该。
var
是const
,这意味着您根本不应该更改任何内容; var.i=100
会给其他人带来意想不到的后果。
更长的答案 - 删除const
,或使i
变为可变。
mutable
关键字表示即使对象为const
,也可以更改变量。或者,通过将其设为非const
,您可以更改它,人们可以期望修改它们的对象。
非常讨厌的回答 - 将const
- 赶走了。
我甚至没有去充实这一部分,因为它非常可怕,这样做会导致a velocoraptor attacking you where you sit。