Ответ 1
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
.
С С++ 11 my_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));
И в С++ 11 это можно записать:
std::multimap<int,int> my_map {{10,10000},{10,20000}};