gpt4 book ai didi

c++ - 我如何遍历元组

转载 作者:行者123 更新时间:2023-11-28 08:24:27 24 4
gpt4 key购买 nike

我如何遍历从索引 1 到 2 的元组?以下不起作用。

using boost::fusion::cons;
typedef cons<A, cons<B, cons<C, cons<D> > > > MyTuple;
MyTuple tuple_;

template <class T>
struct DoSomething{

DoSomething(T& t) : t_(&t){ }

template <class U>
void operator()(U u){
boost::fusion::at<mpl::int_<u> >(*t_);
}
T* t_;
};

boost::mpl::for_each< boost::mpl::range_c<int, 1, 3> >( DoSomething<MyTuple>(tuple_) );

最佳答案

我不确定您的意图,但以下代码是否符合您的目的?我全部使用 fusion 而不是 mpl

struct DoSomething {
template< class U >
void operator()( U u ) const {
std::cout << u << '\n'; // an example
}
};

using namespace boost::fusion; // Sorry, for brevity

iterator_range<
result_of::advance_c< result_of::begin< MyTuple >::type, 1 >::type
, result_of::advance_c< result_of::begin< MyTuple >::type, 3 >::type
> ir( advance_c< 1 >( begin( tuple_ ) )
, advance_c< 3 >( begin( tuple_ ) ) );
for_each( ir, DoSomething() );

希望对你有帮助

关于c++ - 我如何遍历元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4532543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com