c++14逆序/反转tuple

编译: g++ tuple.cpp -std=c++14
c++14支持函数返回auto的返回类型,c++11需要返回类型后置。
由于 get(tuple)中的N必须是常量,用普通的循环遍历不了,tuple的特性很多是在编译期
完成的。

10多年的玛多网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销的优势是能够根据用户设备显示端的尺寸不同,自动调整玛多建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“玛多网站设计”,“玛多网站推广”以来,每个客户项目都认真落实执行。

#include 
#include 

using namespace std;

template
struct RTuple
{
    static auto reverse(T& tup)
    {
        return move( tuple_cat( make_tuple(get(tup)), RTuple::reverse(tup)) );
    }
};

template
struct RTuple
{
    static auto reverse(T& tup)
    {
        return move( make_tuple(get<0>(tup)) );
    }
};

template
struct RTuple
{
    static auto reverse(T& tup)
    {
        return move(tup);
    }
};

int main(int argc, char* argv[])
{
    auto t1 = make_tuple(1,2,3,4);
    auto in1 = RTuple::reverse(t1);
    cout<(t1)<<",";
    cout<(t1)<<",";
    cout<(t1)<<",";
    cout<(t1)<(in1)<<",";
    cout<(in1)<<",";
    cout<(in1)<<",";
    cout<(in1)< t2;
    auto size = tuple_size::value;
    cout< 0 )
    //    cout<(t2)<::reverse(t2);
    size = tuple_size::value;
    cout< 0 )
    //    cout<(in2)<

分享名称:c++14逆序/反转tuple
路径分享:http://cdiso.cn/article/gecheh.html