利用 c++模板 类型 推导思想,实现最简单的 判断两个类型 是否一样的 方法
2017-12-19 09:56
1001 查看
第二个 结构体 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");
}
代码 比较 简单,应该 很容易 看明白。
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");
}
相关文章推荐
- 学习boost模板编程:判断两个类型是否相同
- 如何在编译时刻判断两个类型是否可以自动转换?——《Modern C++ Design》读书笔记(1)
- c/c++ 使用boost库实现的一个简单判断字符串编码的方法
- 简单编程(十四)定义一个方法能够判断并返回两个整数的最大值,并调用自己的方法测试是否正确。
- php简单判断两个字符串是否相等的方法
- C语言简单宏函数实现C++模板功能(类型本身作为函数参数)
- C#利用反射来判断对象是否包含某个属性的实现方法
- JavaScript的String类型replace()方法介绍和使用replace()方法实现简单html模板替换功能
- 简单的方法实现判断Mysql内某个字段Fields是否存在
- C/C++判断传入的UTC时间是否当天的实现方法
- 判断文件类型是否为图片的方法——Java实现
- JS判断非空至少输入两个字符的简单实现方法
- php简单判断两个字符串是否相等的方法
- C#利用反射来判断对象是否包含某个属性的实现方法
- 简单的方法实现判断Mysql内某个字段Fields是否存在
- 第十二周 利用遍历思想求解图问题(判断是否有简单路径)
- C#利用反射来判断对象是否包含某个属性的实现方法
- 判断perl里两个简单hash是否相等的方法
- 由于设计页面需要,要把两个并排显示的 div 实现一样高的效果, n 行 n 列布局,每列高度(事先并不能确定哪列的高度)相同,每个设计师追求的目标。方法有以下几种: 1 JS 实现(判断 2 个 d
- C++实现判断两个单词是否为变位词