История изменений
Исправление ox55ff, (текущая версия) :
std::vector<const std::string>
const
Зачем? Без const делай. Если нужна неизменяемость, то делай константным весь map.
Маленький костыль для того, чтобы отсрочить неотвратимое еще ненадолго.
Ты захотел счётчик. Я тебе показал как: пометь переменную счётчика словом mutable и изменяй её в константных методах. mutable как раз для таких редких случаев и создан. Ещё мьютексы им можно помечать, если константные методы требуют синхронизацию в многопоточном коде при доступе к полям класса. Но злоупотреблять не стоит. Если требуется много mutable, то… да, да, неправильная архитектура.
Поскольку неизбежно возникнет
Не согласен про неизбежность. Из личного опыта. Семь лет на крестах пишу без учёта универа.
Исходная версия ox55ff, :
std::vector<const std::string>
const
Зачем? Без const делай. Если нужна неизменяемость, то делай константным вектор.
Маленький костыль для того, чтобы отсрочить неотвратимое еще ненадолго.
Ты захотел счётчик. Я тебе показал как: пометь переменную счётчика словом mutable и изменяй её в константных методах. mutable как раз для таких редких случаев и создан. Ещё мьютексы им можно помечать, если константные методы требуют синхронизацию в многопоточном коде при доступе к полям класса. Но злоупотреблять не стоит. Если требуется много mutable, то… да, да, неправильная архитектура.
Поскольку неизбежно возникнет
Не согласен про неизбежность. Из личного опыта. Семь лет на крестах пишу без учёта универа.