问题
Question 1:
I'm using C++ 11, and I'm learning. I realize I can do this with two pairs:
pair<pair<<#class _T1#>, <#class _T2#>>, <#class _T3#>>
Is that the best way?
Question 2:
If I don't need different types, so same type for two items, is it a waste to use pair, what should I use then? For three items? (again same type)
回答1:
Use a std::tuple:
std::tuple<_T1, _T2, _T3>
Note that std::tuple
s support an arbitrary amount of types stored in them. Also, to access the elements, you can't do the nice pair.first
/pair.second
, you have to use the syntax std::get<n>(tuple)
, where n
is the element you want to retrieve.
来源:https://stackoverflow.com/questions/15734136/any-stl-data-structure-like-pair-that-gives-three-itemstypes-instead-of-two