我们说我的无序地图定义如下:
unordered_map<string, vector<Obj*>> map // I defined some Obj class
如果我要在地图中添加一个元素,我必须做类似的事情:
pair<string, vector<Obj*>> newEntry(myString, myVector);
map.insert(newEntry);
但我只是想在向量中添加一个元素,我该怎么办?我是否必须拔出矢量并在再次插入之前添加它?这样做的最佳方式是什么?
答案 0 :(得分:1)
您可以使用以下std::unordered_map::operator[]
:
map[myString].push_back( new_object ); // new_obj is of type Obj*
这将更新myString
键的值,或者如果不存在则插入新的键值。
同时避免使用map
作为变量名称,这与std::map