C++模板总结
来源:互联网 发布:图文排版软件 编辑:程序博客网 时间:2024/06/05 06:52
C++模版特化总结:
// general version
template<class T>
class Compare
{
public:
static bool IsEqual(const T& lh, const T& rh)
{
return lh == rh;
}
};
1、如果转换为内置类型int,double,float,...
形式转换为如下
template<> class Compare<int,double,float,...>这种形式
2、如果转换成引用,指针如const T* const T & T* T&这种类型
形式转换如下
template<class T> class Compare<constT*>{}
3、如果转换成另一种类型类类型比如 vector
形式转换如下
template<class T> class Compare<vector<T>>{};
几点不同之处
1、定义模板类的时候模板名称后面是没有<>号的
2、定义为内置类型时特化模板形式是template<>,尖括号里面是没有东西得
3、特化为其它类型时特化模版前缀形式是template<class yourType>,尖括号里面是有你要转换得类型得
所有的特化都是在模板类名之后加上<yourType>的形式比如Compare<vector<T>>。
文章参考了http://www.cppblog.com/SmartPtr/archive/2007/07/04/27496.html
// general version
template<class T>
class Compare
{
public:
static bool IsEqual(const T& lh, const T& rh)
{
return lh == rh;
}
};
1、如果转换为内置类型int,double,float,...
形式转换为如下
template<> class Compare<int,double,float,...>这种形式
2、如果转换成引用,指针如const T* const T & T* T&这种类型
形式转换如下
template<class T> class Compare<constT*>{}
3、如果转换成另一种类型类类型比如 vector
形式转换如下
template<class T> class Compare<vector<T>>{};
几点不同之处
1、定义模板类的时候模板名称后面是没有<>号的
2、定义为内置类型时特化模板形式是template<>,尖括号里面是没有东西得
3、特化为其它类型时特化模版前缀形式是template<class yourType>,尖括号里面是有你要转换得类型得
所有的特化都是在模板类名之后加上<yourType>的形式比如Compare<vector<T>>。
0 0
- 【C++】模板总结
- 【C++】模板函数总结!!!
- 【c++】模板知识总结
- linux c 编程模板总结(一)
- linux c 编程模板总结(二)
- 学习总结: C++ 模板 (thinking in C++)
- 第08章 CORE C++_模板_总结
- 关于C++STL模板库的一些总结(一)
- 模板总结
- 模板总结
- C++-模板
- C++-模板
- C++:模板
- C++:模板
- C++:模板
- 模板 (C++)
- C ++ 模板
- C ++ 模板
- 整数划分
- jqueryMobile的介绍
- c++的历史-异常
- 类图的几种关系总结
- python操作mysql数据库如何解决中文乱码的问题
- C++模板总结
- iOS项目的完整重命名方法图文教程
- WebView内存泄漏,如何让WebView清除更彻底
- 关于模态对话框和非模态对话框的创建、显示,以及和父对话框的传值
- iOS-Core-Animation-Advanced-Techniques(一)
- HTTP报文-->MVC
- 碎片和活动之间进行通信(获取faragment的实例)
- document.all用法
- html浏览器选择执行判断浏览器种类