在CPP中制作矢量三元组的简便方法

时间:2012-05-10 20:50:55

标签: c++ vector

在CPP中构建向量三元组的简单方法是什么?

,而不是一对2个整数,

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

我希望将3个int绑在一起作为向量的一个元素。

我意识到一种方法是制作2个子嵌套对,但这种方法会变得混乱。我不知道CPP的所有细节,因此请推荐一种更简单的方法(如果有的话)。谢谢。

4 个答案:

答案 0 :(得分:14)

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

答案 1 :(得分:12)

无需过度工程。

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

vector<Triplet> triplets;

答案 2 :(得分:3)

查看提升元组http://www.boost.org/doc/libs/1_49_0/libs/tuple/doc/tuple_users_guide.html

您可以轻松创建对,三元组,四元组,最多n-uples!

答案 3 :(得分:-1)

在C ++ 11中,有std::array,请参阅here。在C ++ 03中,我可能会定义一个3 int s的结构并创建一个向量。