У меня есть некоторый класс для коллектора, и 2-мя способами, например:C++ добавить флаг константный метод
bool MyCollectorChanged() const;
bool MyCollectorDoSomeOperation() const;
Я не могу изменить подписи этих методов, означает, что я не могу удалите из подписи const
.
Я хочу установить/отключить некоторый флаг в MyCollectorChanged()
для некоторой ситуации, поэтому я мог проверить значение флага внутри MyCollectorDoSomeOperation()
.
Добавление флага участника в класс не будет работать, так как MyCollectorChanged()
является методом const, поэтому я не могу изменить флаг элемента внутри MyCollectorChanged()
.
Есть ли возможность сделать это? Как установить/отключить некоторый флаг внутри MyCollectorChanged()
, так что он будет виден внутри MyCollectorDoSomeOperation()
?
Перегрузка метода без 'const'? – CinCout
См. Http://stackoverflow.com/questions/105014/does-the-mutable-keyword-have-any-purpose-other-than-allowing-the-variable-to – 4386427
Возможный дубликат [Изменение состояния объекта в методе const ] (http://stackoverflow.com/questions/33596437/changing-object-state-in-const-method) –