随笔-91  评论-137  文章-0  trackbacks-0
        template <typename T1, typename T2>
        inline const bool compare_type(T1, T2)
        {
            return false;
        }

        template <>
        inline const bool compare_type(intint)
        {
            return true;
        }

        template <>
        inline const bool compare_type(floatfloat)
        {
            return true;
        }

        template <>
        inline const bool compare_type(doubledouble)
        {
            return true;
        }

        template <>
        inline const bool compare_type(charchar)
        {
            return true;
        }

        template <>
        inline const bool compare_type(wchar_t, wchar_t)
        {
            return true;
        }

        template <typename T1, typename T2>
        inline const bool compare_type(T1*, T2*)
        {
            return compare_type(T1(), T2());
        }

        template <typename T1, typename T2>
        inline const bool compare_type(const T1*, const T2*)
        {
            return compare_type(T1(), T2());
        }

        template <typename T1, typename T2>
        inline const bool compare_type(const T1*, T2*)
        {
            return false;
        }

        template <typename T1, typename T2>
        inline const bool compare_type(T1*, const T2*)
        {
            return false;
        }
通过特例化,我们可以很轻松的查看两个变量的类型是否相同。
posted on 2012-08-25 16:13 lwch 阅读(1014) 评论(0)  编辑 收藏 引用 所属分类: STL

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理