使用包含set的map作为值

1 c++ stl

基本上我有,

typedef  map<std::string, set<double> > MAP_STRING_TO_SET;
Run Code Online (Sandbox Code Playgroud)

使用新值更新(添加或删除值)集合而不导致集合被复制的最佳方法是什么?

我看到的唯一可行的解​​决方案是使用map<std::string, set<double>* >- 我不想做的事情.

谢谢

rlb*_*ond 13

该集仅在初始化时复制.你被允许做类似的事情

myMap[myString].insert(myDouble);
Run Code Online (Sandbox Code Playgroud)

因为map :: operator []返回一个引用.