添加到包含矢量值的无序地图中

时间:2015-02-28 23:00:02

标签: c++ dictionary vector unordered-map

我们说我的无序地图定义如下:

unordered_map<string, vector<Obj*>> map // I defined some Obj class

如果我要在地图中添加一个元素,我必须做类似的事情:

pair<string, vector<Obj*>> newEntry(myString, myVector);
map.insert(newEntry);

但我只是想在向量中添加一个元素,我该怎么办?我是否必须拔出矢量并在再次插入之前添加它?这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

您可以使用以下std::unordered_map::operator[]

map[myString].push_back( new_object ); // new_obj is of type Obj*

这将更新myString键的值,或者如果不存在则插入新的键值。

同时避免使用map作为变量名称,这与std::map

冲突