利用 c++模板 类型 推导思想,实现最简单的 判断两个类型 是否一样的 方法

来源:互联网 发布:java泛型和集合 中文 编辑:程序博客网 时间:2024/06/07 05:38

第二个 结构体 is__same 是 第一个 的 特化 版本,即当<>  中  两个 类型 一致 的 情况,会 根据 类型 推导 原则 ,推导 为 使用 第二个 特化 版本。

代码 比较 简单,应该 很容易 看明白。

template<typename T1,typename T2>

struct is__same
{
operator bool()
{
return false;
}
};


template<typename T1>
struct is__same<T1,T1>
{
operator bool()
{
return true;
}
};


void main()
{
cout<<is__same<int,char>()<<endl;
cout<<is__same<int,int>()<<endl;
system("pause");
}