前段时间我遇到了一些用mutable关键字标记类的成员变量的代码.据我所知,它只是允许您修改const方法中的变量:
class Foo
{
private:
mutable bool done_;
public:
void doSomething() const { ...; done_ = true; }
};
Run Code Online (Sandbox Code Playgroud)
这是这个关键字的唯一用途,还是有更多的东西比它的眼睛?我已经在一个类中使用了这个技术,标记为一个boost::mutex可变的允许const函数为了线程安全的原因锁定它,但是,说实话,这感觉有点像黑客.
你什么时候使用C++ mutable关键字?为什么?我认为我不必使用该关键字.我知道它用于诸如缓存(或者可能是记忆)之类的东西,但是你需要在什么类和条件下使用它呢?