20

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)

Angie Quijano
  • 3,799
  • 3
  • 22
  • 30
Arch1tect
  • 3,970
  • 10
  • 45
  • 68

1 Answers1

59

Use a std::tuple:

std::tuple<_T1, _T2, _T3>

Note that std::tuples 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.

Xymostech
  • 9,380
  • 3
  • 33
  • 44