2015-11-08 3 views
-1
unordered_map<T, pair<int, T>> _sets; 

Предположим, у меня есть ключ с именем _key, как я могу получить доступ к данным в unordered_map? Как я могу получить тип данных T и int из пары <>?
Спасибо!Как я могу получить доступ к парам

+3

'_sets [_key] .first' и' _sets [_key] .second'? – Downvoter

+1

@cad Есть ответ. Если вы хотите оба, рассмотрите 'auto & data = _sets [_key];', чтобы избежать поиска дважды. –

ответ

0
T myT = _sets[_key].first; 
pair<int, T> myPair = _sets[_key].second; 

int fromPairInt = myPair.first; 
T fromPairT = myPair.second; 

быстрый доступ:

int fromPairInt = (_sets[_key].second).first; 
    T fromPairT = (_sets[_key].second).second; 
+0

Что вы подразумеваете под «быстрым доступом»? Ваше решение не быстро, так как оно выполняет два поиска. –

+0

, когда вы сохраняете объект на другой, копия c'tor будет работать, быстрый доступ к копиям и памяти! –

Смежные вопросы