Middle
47
questionbank

Для чего используется ключевое слово mutable в C++?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Ключевое слово mutable в C++ используется для разрешения изменения члена данных константного объекта. Обычно, если объект объявлен как const, ни один из его нестатических членов данных не может быть изменен. Однако, если член данных помечен как mutable, его можно изменить даже в константном методе или через константную ссылку/указатель на объект.

Это полезно для членов данных, которые не влияют на логическую константность объекта, но могут изменяться внутренне, например, для кеширования результатов вычислений или управления ресурсами.

Пример:

cpp

В этом примере, mutable_value в классе MyClass объявлен как mutable. Метод doSomething является константным (const). Несмотря на это, внутри doSomething мы можем увеличить mutable_value. Попытка изменить normal_value в константном контексте приведет к ошибке компиляции.