2011-12-02 65 views
0

我需要創建三種類型的地圖。具有多種類型的C++地圖

map<string,string,double> 

如何創建並使用它?

+1

你不用;好吧,不是那樣。你能解釋一下你想要的嗎?映射是一個關聯容器:你有一個鍵(類型1)和一個值(類型2)。如果你需要存儲的不僅僅是一種簡單的類型,那麼構成這兩件事的類型取決於你。 – Joe

回答

5

如果你的意思是,你需要兩個數據與一個索引相關聯,那麼你可以使用std::pair

map<string, pair<string, double> > m; 

m["greeting"] = pair<string, double>("hello", 3.2); 
// or: m["greeting"] = make_pair("hello", 3.2); 

cout << m["greeting"].first << endl; // prints hello 
cout << m["greeting"].second << endl; // prints 3.2 
+5

一個方便的函數是'make_pair(「hello」,3.2)',這樣可以節省不必重複的類型。 –

+0

@GregHewgill啊謝謝,不知道那個功能。我添加了一個關於它的註釋。 –