std::map<int,std::list<int>> my_map;
my_map[10].push_back(10000);
my_map[10].push_back(20000);
my_map[10].push_back(40000);
您的编译器可能不支持两个紧邻的右尖括号,因此您可能需要std::map<int,std::list<int> > my_map
.
使用 C++11my_map
可以更有效地初始化:
std::map<int,std::list<int>> my_map {{10, {10000,20000,40000}}};
另外,如果您只是想要一种为每个键存储多个值的方法,您可以使用 std::multimap。
std::multimap<int,int> my_map;
my_map.insert(std::make_pair(10,10000));
my_map.insert(std::make_pair(10,20000));
在 C++11 中可以这样写:
std::multimap<int,int> my_map {{10,10000},{10,20000}};