Почему только непостоянные карты обеспечивают прямое извлечение элементов, подобное ассоциативному массиву?

Я читаю:

Стандартная библиотека C ++: Учебное пособие и справочник Николая М. Джоссаттиса

Это моя книга, когда я собираюсь использовать STL механизмы каким-либо существенным образом. В любом случае, я быстро перечитывал главы о std :: map и связанных алгоритмах и заметил предложение, о котором раньше не думал:

Непостоянные карты предоставляют оператор индекса для прямого доступа к элементам. Однако индекс оператора нижнего индекса не является целой позицией элемента. ... и т. д.

Почему в ассоциативном массиве можно использовать только непостоянные карты? Кажется, что в этом случае было бы довольно просто предоставить семантику только для чтения. Я полагаю, что исключения будут возможны, если вы попытаетесь получить элемент с ключом, которого не существует (синус, вы не можете добавить новый ключ / значение на карту, если это константа).

Я хотел бы понять причину этого, если кто-нибудь может пролить свет :) спасибо!

6
задан John Humphreys - w00te 29 November 2011 в 18:20
поделиться