內部列表的我可以使用下面的語法:使用地圖C++
std::map<int,std::list<int>> mAllData;
,其中關鍵值(INT)將數據的ID,上述數據可能有多種類型,以便存儲所有這些對所述關鍵數值。我正在嘗試使用它。
內部列表的我可以使用下面的語法:使用地圖C++
std::map<int,std::list<int>> mAllData;
,其中關鍵值(INT)將數據的ID,上述數據可能有多種類型,以便存儲所有這些對所述關鍵數值。我正在嘗試使用它。
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++ 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));
而且在C++ 11這可以寫成:
std::multimap<int,int> my_map {{10,10000},{10,20000}};
我更喜歡你的答案,它更完整 –
我不敢相信我不知道'std :: multimap'(我知道它,只是從來沒有使用它)!我通常使用'std :: map
「之稱數據可能具有多張類型」 ......是'名單'只是那些類型中的一種?或者你的意思是你想要一個'list'來存儲除int之外的其他類型的實例嗎? –
Pablo
沒有數據會有多個實例,所以我想存儲在一個列表中的所有這些實例與它的ID(這將是關鍵值)存儲在一起。更多地解釋它舉一個例子,因爲我的數據中有一個ID爲「10」,這個值將坐在關鍵字的mAllData,那麼這個ID的數據可能會有ID爲10000,200000,40000的實例,所以我只想列出這些實例並將其與數據ID保持一致。 – user987316
我不太瞭解你的問題,也沒有你的評論。你是說你想要一個ID有多個值?或者你想要一個ID有多個值,每個值有不同的類型? – Marlon