Any STL data structure like pair that gives three items(types) instead of two?

c++, c++11, data-structures, std-pair

Solution

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.

Problem

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)

Original source