zoukankan      html  css  js  c++  java
  • 如何比较两个变量的类型是否相同

            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;
            }
    通过特例化,我们可以很轻松的查看两个变量的类型是否相同。
  • 相关阅读:
    01背包----简单DP
    小a的计算器
    BZOJ3160 万径人踪灭 【fft + manacher】
    BZOJ3527 [Zjoi2014]力 【fft】
    BZOJ2194 快速傅立叶之二 【fft】
    BZOJ2123 [Sdoi2013]森林 【主席树 + 启发式合并】
    BZOJ3720 Gty的妹子树 【树分块】
    洛谷P1822 魔法指纹 【分块打表】
    洛谷3396 哈希冲突 【分块】
    分块算法
  • 原文地址:https://www.cnblogs.com/lwch/p/2656712.html
Copyright © 2011-2022 走看看