mutable
, как и const
, это просто время компиляции.Это просто позволяет вам изменять эту переменную в постоянном контексте.Во время выполнения, нет разницы, объявляли ли вы контейнер mutable
или нет.
class Foo{
mutable int i;
public:
void foo() const{
// constant context, but you can modify `i`
i = 5;
}
};