c++ 模板学习笔记:理解类模板的特化与偏特化(权哥)
2013-11-24 18:17
495 查看
/*理解类模板的特化、偏特化*/ #include <iostream> #include <typeinfo> #include <string> using namespace std; template <typename T> class Type{ public: static string name(){return typeid(T).name();} }; /*特化:特定某个类型*/ template <> class Type<int>{ public: static string name(){return "int";} }; template <> class Type<char>{ public: static string name(){return "char";} }; template <> class Type<double>{ public: static string name(){return "double";} }; /*偏特化:指针类型*/ template<typename T> class Type<T*>{ public: static string name(){return Type<T>::name()+" pointer";} }; int main() { Type<int> ti; Type<int*>tip; Type<int**>tipp; Type<char> tc; Type<char*>tcp; Type<char**>tcpp; Type<double> td; Type<double*>tdp; Type<double**>tdpp; cout << ti.name() << endl; cout << tip.name() << endl; cout << tipp.name() << endl; cout << tc.name() << endl; cout << tcp.name() << endl; cout << tcpp.name() << endl; cout << td.name() << endl; cout << tdp.name() << endl; cout << tdpp.name() << endl; return 0; } /*输出: int int pointer int pointer pointer char char pointer char pointer pointer double double pointer double pointer pointer */
相关文章推荐
- C++ Standard Stl -- SGI STL源码学习笔记(03) STL中的模板编译期检查与偏特化编译期检查
- c++ 模板学习笔记:用数组和类模板模拟通用栈(权哥)
- c++ 模板学习笔记:函数模板的类型识别(权哥)
- C++学习笔记25 类模板的特化
- c++ 模板学习笔记:函数模板实现数组通用排序和遍历打印(权哥)
- c++ 模板学习笔记:类模板和函数模板实现pair(权哥)
- c++学习笔记 -- 函数模板与类模板的综合运用
- c++ 模板学习笔记:类模板模拟auto_ptr智能指针(权哥)
- 设计模式C++学习笔记之九(Template Method模板方法模式)
- C++学习笔记12-模板1
- C++学习笔记60——模板编译模型
- C++学习之构造函数的理解--模板形式的构造函数不会遮掩编译器生成的默认构造函数
- c++学习(函数模板, 类模板)<2>
- 【C/C++】模板、特化、半特化的理解
- C++ 学习笔记(16)模板、引用折叠、std::forward、可变参数模板、模板特例化
- <C++学习笔记>函数模板 template
- C++学习笔记6--高级强制类型转换 命名空间和模块化编程 C预处理器 链接和作用域 函数模板 类模板 内联模板 容器和算法
- C++学习笔记7——模板
- 我的小小学习笔记(7)之C++------模板之模板函数
- 学习笔记-简单模板链表类的C++实现 15/10/25