Моей карты определяется следующим образом:ключа Erase, значение из карты по значению в C++
map<string, map<string, string>> _map;
Но проблема, что придумал, что моя карта сначала в основном то же самое значение, т.е.
_map["key1"]["value1"] = "data1";
_map["key1"]["value2"] = "data2";
_map["key1"]["value3"] = "data3";
_map["key1"]["value4"] = "data4";
_map["key2"]["value5"] = "data5";
Так что, когда я хочу, чтобы удалить какой-либо конкретной (ключ, значение), я не могу использовать _map.find («key1») для итератора, поскольку он имеет повторяющиеся записи.
Есть ли способ установить индекс итератора, используя значение?
Предположим, что я хочу, чтобы удалить эту запись:
_map["key1"]["value4"] = "data4";
Как мне это сделать?
Ваш вопрос непонятен. Кажется, вы спрашиваете, как удалить элемент с карты, что тривиально найти в документации. Не могли бы вы уточнить, в чем проблема, которую вы пытаетесь решить? – juanchopanza
Вы не можете иметь более одного значения для ключа на карте. –
@ A.Franzen: у него не более одного значения за ключ. посмотрите внимательно! – Nawaz