【发布时间】:2016-04-11 06:58:58
【问题描述】:
我的地图是这样定义的:
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";
我该怎么做?
【问题讨论】:
-
您的问题不清楚。您似乎在问如何从地图中删除元素,这在文档中很容易找到。您能否澄清一下您要解决的问题是什么?
-
地图中每个键的值不能超过一个。
-
@A.Franzen:每个键的值不超过一个。仔细看!
-
哦,我明白了,您将内部映射称为“键”“值”。这令人困惑。
-
您的地图中没有重复的键。根据定义,这是不可能的。就像在矩阵中有重复的索引:这是不可能的。
标签: c++ dictionary iterator erase