Я пытаюсь использовать unordered_map
в C++, так что для ключа у меня есть 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)) '(оба дают' it-> second.first', что совершенно верно) –