4

CPPでintのベクトルトリプレットを構築する簡単な方法は何でしょうか?

つまり、2つのintのペアの代わりに、

std::vector<std::pair<int, int> > vec;

ベクトルの1つの要素として3つのintを結び付けたい。

1つの方法は、2つのサブネストされたペアを作成することであることに気付きましたが、この方法は面倒になります。CPPの詳細をすべて把握しているわけではないので、可能であればもっと簡単な方法をお勧めします。ありがとうございました。

4

4 に答える 4

14

std::vector<std::tuple<int,int,int>> myvec;

于 2012-05-10T20:53:29.797 に答える
12

オーバーエンジニアリングする必要はありません。

struct Triplet
{
  int  one_, two_, three_;
};

vector<Triplet> triplets;
于 2012-05-10T20:53:13.180 に答える
3

ブーストタプルをチェックしてくださいhttp://www.boost.org/doc/libs/1_49_0/libs/tuple/doc/tuple_users_guide.html

ペア、トリプル、クワッド、最大n-uplesを簡単に作成できます。

于 2012-05-10T20:53:34.180 に答える
-1

C ++ 11には、があります。ここstd::arrayを参照してください。C ++ 03では、おそらく3の構造体を定義し、それらのベクトルを作成します。int

于 2012-05-10T20:53:57.193 に答える