C++支持泛型编程(即独立于任何特定类型),而模版是泛型编程的基础,因此模版对于C++来说十分重要
定义模版分为函数模版定义和类模版定义
##函数模版
对于函数模版定义,一般形式为:
template <typename type> ret-type func-name(parameter list) {
}
type 是函数所使用的数据类型的占位符名称,ret-type是返回值类型,func-name为函数名,parameter list为参数列表
例如:
template <typename T> inline T const& Max (T const& a, T const& b)
{
return a < b ? b:a;
}
##类模版
对于类模版的定义,一般形式为:
template <typename type> class class-name {
}
在这里,type 是占位符类型名称,可以在类被实例化的时候进行指定。您可以使用一个逗号分隔的列表来定义多个泛型数据类型
例如:
template <class T> class Stack {
private:
vector<T> elems; // 元素
public:
void push(T const&); // 入栈
};
template <class T> void Stack<T>::push (T const& elem) {
elems.push_back(elem); // 追加传入元素的副本
}
如果有写的不对或者不全面的地方 可通过主页的联系方式进行指正,谢谢