template
函数声明或者定义
-
template 表示创建一个模板
-
typename 表明后面的符号是一种数据类型,可以用class代替
-
T:通用的数据类型,一般为大写字母,可以用其它字母表示
#include常见情形:using namespace std; //函数模板声明 template void myswap(T& a,T &b); int main(){ int a=1,b=2; double c=1,d=2; myswap(a,b); myswap(c,d); cout<<"a="< void myswap(T& a,T &b){ T c=a; a=b; b=c; }
- 函数模板使函数定义更加简单,但不能缩短可执行程序,示例中仍由两个函数定义,
- 将模板放在头文件,并在需要使用模板的文件中包含头文件
示例由于C++规则限制,编写的函数模板函数无法处理某些类型
字符串类型相乘会报语法错误。
// 函数模板局限性,错误示范 #include参考文献using namespace std; template T& fun(T&a ,T&b){ return a*b; } int main(){ char a='c'; char b='d'; fun(a,b); return 0; }
(84条消息) 函数模板—清晰的例子,通俗易懂(超详细)_布布要成为最强的人的博客-CSDN博客_函数模板



