我想在C++中使用unordered_map
,因此,對於密鑰我有一個int
,而對於該值則有一對浮點數。但是,我不確定如何訪問這對值。我只是想弄明白這個數據結構。我知道要訪問我們需要的iterator
這個無序的映射聲明的相同類型的元素。我嘗試使用iterator->second.first
和iterator->second.second
。這是做訪問元素的正確方法嗎?unordered_map對值C++
typedef std::pair<float, float> Wkij;
tr1::unordered_map<int, Wkij> sWeight;
tr1::unordered_map<int, Wkij>:: iterator it;
it->second.first // access the first element of the pair
it->second.second // access the second element of the pair
感謝您的幫助和時間。
它編譯? –
'unordered_map'是C++ 11標準的一部分,你可以使用'std ::'而不是'tr1 ::' – Alejandro
你也可以使用'std :: get <0>(it-> second)'或' std :: get <0>(std :: get <1>(* it))'(都給出了它 - > second.first,這是完全有效的) –