访问boost :: tuple的成员

时间:2010-12-30 09:48:50

标签: c++ boost

我正在尝试实现像vector这样的向量<升压::元组< INT,INT,INT> >天;我想访问元组的第一个元素来检查一个条件。 有人可以告诉我怎么做吗?我很擅长提升。 提前致谢。

2 个答案:

答案 0 :(得分:15)

#include <boost/tuple/tuple.hpp>
#include <iostream>
#include <vector>

int main()
{
    std::vector< boost::tuple<int, int, int> > v;
    v.push_back(boost::make_tuple(1, 2, 3));
    std::cout << boost::get<0>(v[0]) << std::endl;
    std::cout << boost::get<1>(v[0]) << std::endl;
    std::cout << boost::get<2>(v[0]) << std::endl;
}

答案 1 :(得分:5)

第一个tupple有一组类型:
编辑(修正你的帖子)但是在这里使用抽象类型来演示它如何更好地工作。

std::vector<boost::tuple<A, B, C> >   day;

// Load data into day;

现在,您可以使用get方法提取tupple的那些部分。

A&   aPart = day[0].get<0>();
B&   bPart = day[0].get<1>();
C&   cPart = day[0].get<2>();