模版

来源:互联网 发布:凡凡中国站淘宝 编辑:程序博客网 时间:2024/04/26 17:00

定义:为只有类型不同而逻辑功能相同的代码提供一个总定义。
其实模版就是把“类型”当作一种参数,在代码运行时传递
1,模版重载

template<typename T> void func(const T& arg){}template<typename T> void func(const T& arg1,const T& arg2){}  //模版之间的重载void func(const int & arg1,const int & arg2){}//非模版函数的重载template<> void func(const char*const &a,const char*const&b){ } //模版的特例化

小结:模版的特例化只是前面加了“template<>”之后跟一般函数的写法完全相同,就是模版的一个具体类型。
2,一般我们习惯把函数的声明放在头文件中,定义放在源文件中,但是对于模版,最好把声明和定义都放在头文件中,否则要在头文件中包含定义模版的源文件(参考:C++ 教程网 模版1视频讲解)

模版的调用

int a,b;func<>(a,b);  //显式指定调用模版函数func(a,b);    //隐式调用非模版函数
0 0