zoukankan      html  css  js  c++  java
  • 遍历输出tuple元素的简洁方式(C++11)

    //遍历输出tuple元素的简洁方式(C++11)
    //Win32Con17_VS2017_01.cpp
    #include <iostream>
    #include <tuple>
    using namespace std;
    
    template<typename... Args>
    void myprint_impl(tuple<Args...> tup)        //泛化版本
    {
        //cout << get<0>(tup) << ((tuple_size<decltype(tup)>::value > 1) ? ", " : "");
        //cout << tup._Myfirst._Val << ((tuple_size<decltype(tup)>::value > 1) ? ", " : "");
        cout << tup._Myfirst._Val << ((tup._Mysize > 1) ? ", " : "");    //输出tup的头1项
        myprint_impl(tup._Get_rest());                                    //对除头1项之外的tup递归调用
    }
    
    template<>
    void myprint_impl(tuple<> tup)                //终止条件
    {
        cout << endl;
    }
    
    int main()
    {
        auto t = make_tuple(3, 4.67, "Hello", true);
        myprint_impl(t);        //3, 4.67, Hello, 1
    
        system("pause");
        return 0;
    }
  • 相关阅读:
    厕所惊魂
    感谢协助学生返校,邀请交警合影留念
    小丑杀人
    东芝Toshiba e-STUDIO打印身份证
    JavaScript
    html
    pymysql模块
    线程
    队列与进程池
    网络编程
  • 原文地址:https://www.cnblogs.com/ybmj/p/8094750.html
Copyright © 2011-2022 走看看