对于给定的函数/代码块,是否可以让一个成员变量仅被认为是可变的?成员变量的临时可变性
例如
class Foo() {
int blah;
void bar() const {
blah = 5; // compiler error
}
void mutable_bar() const {
blah = 5; // no compiler error
}
}
注:在这种情况下,我不希望在mutable_bar摆脱常量,因为逻辑常量将被保留。
同样的问题,但不同的观点:我可以以某种方式将可变关键字应用于方法而不是变量?
我认为你可以做'const_cast(this) - > blah = 5;'。你需要什么? –
Elazar
2013-04-27 19:33:13
@Elazar:如果对象实际上首先声明为“const”,则这是UB。 *不要这样做!* – syam 2013-04-27 19:33:58
@syam在这里声明了什么'const',究竟是什么? – lapk 2013-04-27 19:37:37