模板专业化和模板偏特样片(template specialization and partial template specialization)
2015-07-29 21:59
417 查看
测试环境:
win7 64
g++ 4.8.1
输出结果:
win7 64
g++ 4.8.1
/********************************************************************************* Copyright (C), 1988-1999, drvivermonkey. Co., Ltd. File name: Author: Driver Monkey Version: Mail:bookworepeng@hotmail.com Date: 2014.04.02 Description: *********************************************************************************/ #include<stdlib.h> #include <iostream> #include <typeinfo> #include <typeindex> #include <map> using namespace std; class A { public: A(){cout<<"A created!"<<endl;} }; struct SUB_A:public A { public: SUB_A(){cout<<"SUB_A created!"<<endl;} }; template<class T1, class T2> class CompileTimeChecker { public: T1 t1; T1 t2; CompileTimeChecker() { cout<<"1---CompileTimeChecker = "<<typeid(t1).name()<<endl; cout<<"1---CompileTimeChecker = "<<typeid(t2).name()<<endl; } }; template <class T> class CompileTimeChecker<T,float> { public: T t; CompileTimeChecker() { cout<<"2---CompileTimeChecker = "<<typeid(t).name()<<endl; } }; template<> class CompileTimeChecker<A, SUB_A> { public: A a; SUB_A sub_a; CompileTimeChecker() { cout<<"3---CompileTimeChecker = "<<typeid(a).name()<<endl; } }; int main(void) { CompileTimeChecker<int, float> int_instance; CompileTimeChecker<int, int> a_instance; CompileTimeChecker<A,SUB_A> sub_instance; }
输出结果:
相关文章推荐
- 字符串的全排列和组合算法
- C语言中,各类型数据所占字节数及与它取值范围的关系
- java中关于链表操作
- 有关于Tachyon的特性
- 状态压缩
- OpenCV 2.4+ C++ 平滑处理
- 2015多校联合训练第一场Tricks Device(hdu5294)
- 备注ocp_ORACLE专题网络
- 一张电影票价引发的“地震”
- 求最大子段和的几种方法以及性能测试
- apache和php在网络中的位置
- 写一个兼容性比较好的拖拽DEMO
- 求最大子段和的几种方法以及性能测试
- Python: [Errno 32] Broken pipe异常分析
- QT实现多窗口切换
- C/C++ 类和结构体的差别
- 设计模式之简单工厂
- 洗牌算法
- A Bug's Life
- 并查集