2014-09-03 2 views
0

Я пытаюсь создать постоянный метод getValue(), который обращается к карте по индексу пары и возвращает значение, хранящееся в map[pair]. Однако, поскольку [] непостоянен (он может изменить карту), метод getValue() не может быть постоянным, и поэтому почти вся моя программа не может быть постоянной.способы сделать функцию геттера постоянной

Я пробовал использовать карту at(), но я не должен иметь дело с исключениями в этой программе.

Есть ли еще что попробовать?

+1

Если вы не можете создавать исключения, что должно получиться 'getValue()', когда ключ не найден на карте? – juanchopanza

+7

Вы можете использовать 'map :: find()', который не выбрасывает. –

+0

спасибо Джонатан, это сработало –

ответ

0

Существует несколько вариантов. Возможно, самое простое - сделать карту mutable. map::find (как предложено в комментариях) является другим.

Смежные вопросы