c++ 模板学习笔记:函数模板的类型识别(权哥)
来源:互联网 发布:nginx ssl跳转 编辑:程序博客网 时间:2024/04/30 12:49
当我们实例化一个类模板的时候,我们必须确知用以实例化类型。模板函数则可以识别一个变量、常量、表达式结果的类型。
下面是一个模板函数演示:
#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 <>class Type<bool>{public:static string name(){return "bool";}};/*偏特化:指针类型*/template<typename T>class Type<T*>{public:static string name(){return Type<T>::name()+" pointer";}};/*模板函数,推测给定常量、变量(或表达式结果)的类型*/template <typename T>const string type(T t){return Type<T>::name();}int main(){cout << type(123) << endl;cout << type(45.6) << endl;cout << type('x') << endl;int a=10;char b='k';cout << type(a/1.0) << endl;cout << type(a<b) << endl;cout << type(&a) << endl;return 0;}/*输出:intdoublechardoubleboolint pointer*/
- c++ 模板学习笔记:函数模板的类型识别(权哥)
- 我的小小学习笔记(7)之C++------模板之模板函数
- (C/C++学习笔记)函数模板的深入理解
- C++Template学习笔记之函数模板
- (C/C++学习笔记)函数模板加强
- C++ Template学习笔记之函数模板(1)——函数模板定义
- C++ Template学习笔记之函数模板(7)——重载函数模板
- C++ Template学习笔记之函数模板(1)——函数模板定义
- C++ Template学习笔记之函数模板(7)——重载函数模板
- c++ 模板学习笔记:类模板和函数模板实现pair(权哥)
- C++ Template学习笔记之函数模板(3)——模板实参推演
- C++ Template学习笔记之函数模板(5)——模板编译模式
- C++ Template学习笔记之函数模板(3)——模板实参推演
- C++ Template学习笔记之函数模板(5)——模板编译模式
- 学习C++模板---模板函数
- C++学习笔记(一)函数模板与类模板
- (C/C++学习笔记)函数模板遇上函数重载
- 小白教你学习C++(5)函数模板的使用
- win32常用的消息WM_CREATE - 窗口创建成功,但还未显示之前
- Android应用程序结构
- 算法和数据结构的实际应用
- ATM
- win32常用的消息WM_SIZE - 窗口的大小发生变化后
- c++ 模板学习笔记:函数模板的类型识别(权哥)
- 制作网页中的表单并在提交时对输入的内容进行检验
- win32函数 MoveWindow使用说明
- [cocos2d-x] -- 新建HelloWorld工程 .
- VC/Win32 消息的获取GetMessage/PeekMessage
- 完美卸载SQL Server 2008的方案
- Android----基础----第四天----Cotent Provider
- Java中的transient关键字
- 淘宝应对"双11"的技术架构分析