web-dev-qa-db-ja.com

2つではなく3つのアイテム(タイプ)を提供するペアのようなSTLデータ構造はありますか?

質問1:

私はC++ 11を使用しており、学習しています。私は2つのペアでこれを行うことができることを理解しています:

pair<pair<<#class _T1#>, <#class _T2#>>, <#class _T3#>>

それが最善の方法ですか?

質問2:

異なるタイプが必要ない場合、つまり2つのアイテムに同じタイプが必要な場合、ペアを使用するのは無駄ですか?それでは何を使用すればよいですか? 3つのアイテムのために? (再び同じタイプ)

15
Arch1tect

_std::Tuple_ を使用します:

_std::Tuple<_T1, _T2, _T3>
_

_std::Tuple_ sは、それらに格納されている任意の数の型をサポートしていることに注意してください。また、要素にアクセスするには、Nice _pair.first_/_pair.second_を実行できません。構文std::get<n>(Tuple)を使用する必要があります。ここで、nは要素です。取得したい。

40
Xymostech