• 使用boost的type_index打印数据类型


    #include <iostream>
    #include <utility>
    #include <boost/type_index.hpp>
    
    using namespace std;
    using boost::typeindex::type_id_with_cvr;
    
    template<typename T>
    void PrintType(T&& param)
    {
        // 利用Boost库打印模板推导出来的 T 类型
            cout << "T type:" << type_id_with_cvr<T>().pretty_name() << endl;
    
        // 利用Boost库打印形参的类型
            cout << "param type:" << type_id_with_cvr<decltype(param)>().pretty_name() << endl;
        cout<<"
    ";
    }
    
    
    class BaseClassForTest{
        public:
            BaseClassForTest() = default;
            BaseClassForTest(const BaseClassForTest& t){
                cout<<"1
    ";
            }
    
    
            BaseClassForTest(BaseClassForTest&& t){
                cout<<"2
    ";
            }
    
    };
    
    int main(int argc, char *argv[])
    {
        BaseClassForTest b1;
        BaseClassForTest& b2 = b1;
        BaseClassForTest&& b3 =  BaseClassForTest();
        PrintType(b1);
        PrintType(b2);
        PrintType(b3);
        PrintType(BaseClassForTest());
    
    
        return 0;
    }
    
    
  • 相关阅读:
    Date计算人活了多少天
    微信红包平均分法
    math practise
    Array sort
    static memory management
    java数组中的选择排序
    java数组中的冒泡排序
    数组联系2 模拟酒店系统
    数组练习1(模拟栈)
    二维数组
  • 原文地址:https://www.cnblogs.com/ishen/p/13771980.html
Copyright © 2020-2023  润新知