函数模板可以用来创建一个通用功能的函数,以支持不同参数,进一步简化重载函数的函数体设计。
声明方法:
template <typename 标识符>
函数声明
编译器从调用实参的类型,推导出函数模板的类型的参数。
举例:
/* *funtpl.cpp *aim : function template *date : 2015-7-15 *author : zhang *compiled by g++ */ #include <iostream> using namespace std; template<typename T> T square(T x) { return x * x; } int main() { int n = 8; double s = 8.8; cout << square(n) << endl; cout << square(s) << endl; return 0; }
对于调用表达式 square ,由于参数n为int型,所以推导出模板中类型参数T为int 。
当类型参数的含义确定后,编译器将以函数模板为样板,生成一个函数:
int square(int x) { return x * x; }
C++程序设计.郑莉
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/xinxing__8185/article/details/46888631