Значение ключа в std::map
является константой. Поскольку порядок сортировки карты зависит от значения ключа, если вы измените ключ, вы, вероятно, нарушите этот порядок и получите узел в неправильном месте.
В вашем коде key
будет будет const string &
, а value
будет string &
(так что вы можете изменить значение).
Если вам нужно изменить ключ для записи на карте, вам нужно извлечь значение из карты, удалите исходное значение, затем заново вставьте значение, используя новый ключ.