Я читаю:
Стандартная библиотека C ++: Учебное пособие и справочник Николая М. Джоссаттиса
Это моя книга, когда я собираюсь использовать STL механизмы каким-либо существенным образом. В любом случае, я быстро перечитывал главы о std :: map и связанных алгоритмах и заметил предложение, о котором раньше не думал:
Непостоянные карты предоставляют оператор индекса для прямого доступа к элементам. Однако индекс оператора нижнего индекса не является целой позицией элемента. ... и т. д.
Почему в ассоциативном массиве можно использовать только непостоянные карты? Кажется, что в этом случае было бы довольно просто предоставить семантику только для чтения. Я полагаю, что исключения будут возможны, если вы попытаетесь получить элемент с ключом, которого не существует (синус, вы не можете добавить новый ключ / значение на карту, если это константа).
Я хотел бы понять причину этого, если кто-нибудь может пролить свет :) спасибо!