C++ 之 函数模板
2015-07-15 09:34
239 查看
函数模板可以用来创建一个通用功能的函数,以支持不同参数,进一步简化重载函数的函数体设计。
声明方法:
template <typename 标识符>
函数声明
编译器从调用实参的类型,推导出函数模板的类型的参数。
举例:
对于调用表达式 square ,由于参数n为int型,所以推导出模板中类型参数T为int 。
当类型参数的含义确定后,编译器将以函数模板为样板,生成一个函数:
参考文献:
C++程序设计.郑莉
声明方法:
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++程序设计.郑莉
相关文章推荐
- C/C++指针和数组的关系
- iOS C语言1_基本概念
- 在C++中自定义宏的简单方法
- typedef和# define
- C++ HOJ DS Series
- C++ 大规模程序设计 之 层次化
- 6个变态的C语言Hello World程序
- OC语言---封装,继承,多态
- C++11/14/17 Features In VS 2015 RTM
- C语言之函数调用05—列出斐波纳契数列的前n项
- C语言之函数调用04—递归法求阶乘
- C语言之函数调用03—最大公约数和最小公倍数
- C语言之函数调用02—一个三位数的正整数=它的各位数字的阶乘之和
- C语言之函数调用01—1到n的阶乘和
- c++ 11 thread 初试
- C语言值基本算法43—总结
- C语言之基本算法42—矩阵转置及按行按列排序
- C语言之基本算法41—字符串匹配问题
- C++模板之堆排序
- C++字符串转换