Vor einiger Zeit stieß ich auf einen Code, der eine Mitgliedsvariable einer Klasse mit der mutable
Stichwort. Soweit ich sehen kann, erlaubt es Ihnen einfach, eine Variable in einer const
Methode:
class Foo
{
private:
mutable bool done_;
public:
void doSomething() const { ...; done_ = true; }
};
Ist dies die einzige Verwendung dieses Schlüsselworts oder steckt mehr dahinter, als man denkt? Ich habe diese Technik in einer Klasse verwendet, indem ich eine boost::mutex
als veränderbar, so dass const
Funktionen, um sie aus Gründen der Thread-Sicherheit zu sperren, aber um ehrlich zu sein, fühlt sich das ein bisschen wie ein Hack an.