Ma carte est définie comme ceci:touche d'effacement, la valeur de la carte par la valeur en C++
map<string, map<string, string>> _map;
Mais le problème qui a été soulevée est que la première est essentiellement la même valeur de ma carte, à savoir
_map["key1"]["value1"] = "data1";
_map["key1"]["value2"] = "data2";
_map["key1"]["value3"] = "data3";
_map["key1"]["value4"] = "data4";
_map["key2"]["value5"] = "data5";
Alors, quand je veux supprimer tout particulier (clé, valeur), Je ne peux pas utiliser _map.find (« key1 ») pour le iterator, car il a des entrées en double.
Existe-t-il un moyen de définir l'index de l'itérateur en utilisant la valeur?
Supposons que je veuille supprimer cette entrée:
_map["key1"]["value4"] = "data4";
Comment puis-je faire cela?
Votre question n'est pas claire. Il semble que vous demandiez comment supprimer un élément d'une carte, ce qui est trivial à trouver dans la documentation. Pourriez-vous préciser quel est le problème que vous essayez de résoudre? – juanchopanza
Vous ne pouvez pas avoir plus d'une valeur par clé dans une carte. –
@ A.Franzen: il n'a pas plus d'une valeur par clé. regarder attentivement! – Nawaz