Здравствуйте, so5team, Вы писали:
M>>Порядок обхода map определяется порядком добавления ключей. Если ключ не добавляется, а перезаписывает имеющееся значение, то могут быть варианты: а) запретить (кинуть исключение) б) обновить на месте в) переместить в конец
S>Логика мне непонятна (как и многое из того, что вы здесь показываете).
Я заметил
S>Такое впечатление, что вы в очередной раз делаете что-то странное, поэтому и отгребаете приключения.
Возможно
S>Думается, что если map -- это ваш контейнер, то вы можете просто запретить его operator[] возвращать неконстантную ссылку.
Контейнер мой, но запретить — не могу
S>Тогда у вас не получится заменить значение по уже имеющемуся ключу. Для такой замены нужно будет использовать другой метод. Внутри которого вы сможете делать что вам захочется (хоть обновлять, хоть перемещать в конец). И никакие прокси вам не потребуются.
Контейнер мой, но передаётся в чужой код, который кладёт значения в map через operator[]