美文网首页
检查是否未完成类型&类T是否有某个成员函数&两个类型是否相等

检查是否未完成类型&类T是否有某个成员函数&两个类型是否相等

作者: Aska偶阵雨 | 来源:发表于2019-12-19 15:00 被阅读0次

        typedef char T_must_be_complete_type[sizeof(T) == 0 ? -1 : 1];

        T_must_be_complete_type dummy; (void) dummy;

        delete value_;

        value_ = NULL;

    检查是否未完成类型

    例如

    class A; 

    extern A a;  

    ========================================================

    template<typename T>

    struct has_xxxx

    {

      template <typename C> static char test(decltype(&C::xxxx));

      template <typename C> static int32_t test(...);

      const static bool value = sizeof(test<T>(0)) == 1;

    };

    检查类T是否有某个成员函数

    ========================================================

    template<typename T1,typename T2>

    struct is_same

    {

    const static bool value = false;

    };

    template<typename T1>

    struct is_same<T1,T1>

    {

    const static bool value = true;

    }

    检查两个类型是否相等

    相关文章

      网友评论

          本文标题:检查是否未完成类型&类T是否有某个成员函数&两个类型是否相等

          本文链接:https://www.haomeiwen.com/subject/cqwmnctx.html