- 热门文章:
- · 计算cpu速度的小程序
- · Union的迷思
- · 小技巧:一个工具条内放多排按钮
- · 闲言碎语话编程
- · 解析#pragma指令
- · 解析VC++6中的指针
- · 深度解析VC中的消息(上)
- · 数据结构学习(C++)——稀疏矩阵(十字链表【2】)
- · 数据结构学习(C++)——栈和队列(定义和实现)
- · 四则运算实现
- · 为什么应该升级到Struts 1.1?
- · 深度解析VC中的消息(中)
上一篇:C++设计目标和原则 >>
测试2个类型相同的方法
也许有的时候,我们需要测试2个类型是否相同,恩,有几种方法你可以参考以下:
1、利用typeid,也许这是最常见的方法了:
template<class T, class U>
struct same_type
{
public:
operator bool()
{
return typeid(T())==typeid(U());
}
};
2、利用模板特化:
template <typename T, typename U>
struct same_type
{
private:
template<typename>
struct In
{ enum { value = false }; };
template<>
struct In<T>
{ enum { value = true }; };
public:
enum { value = In<U>::value };
};
3、利用Loki库里面的TypeList:
template <typename T, typename U>
struct same_type
{
public:
operator bool()
{
return Loki::IndexOf<Loki::TYPELIST_2(T,U),U>==0;
}
};
嗬嗬,当然了,肯定也有别的方法,提出来一起分享:)
下一篇:计算cpu速度的小程序 >>
相关文章:
- · 恶草丛生的阴暗角落---虚拟机制(上)
- · 数据结构学习(C++)——栈应用(表达式求值)
- · 解除心头的困惑--纯虚函数
- · 快捷方式的函数
- · WTL体系结构(2)
- · 恶草丛生的阴暗角落---虚拟机制(下)
- · 深度解析VC中的消息(下)
- · 数据结构学习(C++)——队列应用(事件驱动模拟)
- · 新手对COM的认识及疑惑
- · 全面解读WM_NOTIFY
- · 开发集成Microsoft Visual Basic for Application的应用系统(一)
- · 浅谈 MFC 的子类化机制和该机制的一个应用(1)
- · 深度剖析消息反射机制
- · 浅谈 MFC 的子类化机制和该机制的一个应用(2)
- · 我的CLog的实现
- · Hello World by Microsoft Speech SDK 5.1
- · 初级X编程2
- · 彻底粉碎“指针与数组的困惑”(上)
- · ADSL组建局域网快捷方案
- · ADSL组建局域网快捷方案
- · 形形色色的自定义消息(上)
- · 数据结构学习(C++)——线性链式结构总结(代后记)【1】
- · vc入门宝典(九)
- · 形形色色的自定义消息(下)
- · C++中的预处理(上)
- · 非常时期突现网络办公的魅力!
- · asp_dll
- · 学Java,观GP
- · 怎样写一个 NT 服务程序
- · 代码优化试验——短循环优化(上)
- · 代码优化试验——短循环优化(下)
- · =========<C++未眠夜---我学习C++的心路历程>========
- · BOOK
- · 读《Efficient C++》疑惑
- · C++中的预处理(下)
- · DSP v1.0--序列化和反序列化对象和DNS v1.0--得到域的邮件服务器
- · C++入门解惑(0)——序
- · 代码自动完成、文档自动生成、提高开发效率----介绍VcExtend
