访问boost :: tuple的成员

Shw*_*eta 6 c++ boost

我正在尝试实现像vector <boost :: tuple <int,int,int >>> day这样的向量; 我想要访问元组的第一个元素来检查一个条件.有人可以告诉我怎么做吗?我是新来的提升.提前致谢.

ice*_*ime 16

#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;
}
Run Code Online (Sandbox Code Playgroud)


Mar*_*ork 5

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

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

// Load data into day;
Run Code Online (Sandbox Code Playgroud)

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

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