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);
Trình biên dịch của bạn có thể không hỗ trợ hai dấu ngoặc nhọn nằm sát nhau, vì vậy bạn có thể cần std::map<int,std::list<int> > my_map
.
Với 11 my_map
C++ có thể được khởi tạo một cách hiệu quả hơn:
std::map<int,std::list<int>> my_map {{10, {10000,20000,40000}}};
Ngoài ra, nếu bạn chỉ muốn một cách để lưu trữ nhiều giá trị cho mỗi khoá, bạn có thể sử dụng std :: Multimap.
std::multimap<int,int> my_map;
my_map.insert(std::make_pair(10,10000));
my_map.insert(std::make_pair(10,20000));
Và trong C++ 11 này có thể được viết:
std::multimap<int,int> my_map {{10,10000},{10,20000}};
"cho biết dữ liệu có thể có các loại mulitple" ... là 'danh sách' chỉ là một trong những loại? Hoặc bạn có nghĩa là bạn muốn có một 'danh sách' lưu trữ các trường hợp của các loại khác ngoài' int'? –
Pablo
Không có dữ liệu nào có nhiều phiên bản, vì vậy tất cả các trường hợp tôi muốn lưu trữ trong danh sách với ID của nó (sẽ là giá trị khóa) Để giải thích thêm ví dụ như một trong các dữ liệu của tôi có ID "10" của mAllData thì dữ liệu ID này có thể có các cá thể ID là 10000.200000,40000 vì vậy tôi chỉ muốn tạo danh sách các cá thể này và giữ nó với ID dữ liệu của nó. – user987316
Tôi không hiểu câu hỏi của bạn cũng như nhận xét của bạn. Bạn đang nói bạn muốn một ID có nhiều giá trị? Hoặc bạn muốn một ID có nhiều giá trị mà mỗi loại có các loại khác nhau? – Marlon