2016-07-05 34 views
-4

我想在C++中用'key'創建一個無序映射作爲整數,但'value'是指向vector的指針。如何聲明這樣一個映射並使用它來訪問元素的矢量?用指針作爲值的散列圖

+0

http://www.cplusplus.com/reference/unordered_map/unordered_map/ – Arunmu

回答

0

你可以這樣做:

std::unordered_map<int, std::vector<Type>*> mymap; 

或更好:

std::unordered_map<int, std::unique_ptr<std::vector<Type>>> mymap; 

訪問它想:

auto vptr = mymap[10]; 
+0

只需將mymap [value]分配給指向矢量的指針即可。 –

+0

如果我想插入一個條目到hastable mymap中,是否這樣做是正確的? auto ptr = dictionary // dictionary是矢量的名稱mymap [value] = ptr; – Preety

+0

好的,如果ptr是一個指向矢量的指針。例如: 載體 * v =新載體; mymap [value] = v; –