Ключевое слово mutable
Введение
Ключевое слово mutable
в C++ позволяет изменять члены данных класса даже внутри методов, объявленных как const
. Это полезно, когда необходимо изменить состояние объекта, который логически остается неизменным.
Использование mutable
Определение и назначение
Ключевое слово mutable
используется перед объявлением члена данных класса. Это снимает ограничения на изменение члена данных внутри const
методов.
Синтаксис
Пример использования
В этом примере counter
объявлен как mutable
, что позволяет изменять его значение в методе increment
, который объявлен как const
.
Применение mutable
в лямбдах
Определение и назначение
В лямбдах ключевое слово mutable
позволяет изменять захваченные переменные по значению. По умолчанию лямбды захватывают переменные как const
.
Синтаксис
Пример использования
В этом примере лямбда-функция захватывает переменную x
по значению и изменяет ее внутри тела лямбды, что становится возможным благодаря ключевому слову mutable
.
Резюме
- Ключевое слово
mutable
позволяет изменять члены данных класса внутриconst
методов. - Оно также позволяет изменять захваченные переменные по значению в лямбдах.
- Использование
mutable
полезно в случаях, когда необходимо изменить внутреннее состояние объекта, логически оставаясь неизменным.