Имеет ли ключевое слово «mutable» какую-либо цель, кроме разрешения изменения элемента данных с помощью функции-члена coC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Имеет ли ключевое слово «mutable» какую-либо цель, кроме разрешения изменения элемента данных с помощью функции-члена co

Сообщение Anonymous »

Некоторое время назад я наткнулся на код, который помечал член данных класса ключевым словом mutable. Насколько я понимаю, он просто позволяет вам изменять элемент в методе члена, квалифицированном const:

Код: Выделить всё

class Foo
{
private:
mutable bool done_;
public:
void doSomething() const { ...; done_ = true; }
};
Это единственное использование этого ключевого слова или оно нечто большее, чем кажется на первый взгляд? С тех пор я использовал эту технику в классе, помечая boost::mutex как изменяемый, позволяя функциям const блокировать его из соображений потокобезопасности, но, честно говоря, это похоже на хакерство.

Подробнее здесь: https://stackoverflow.com/questions/105 ... -member-to
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»