函数模板实例
这是值得考虑一下如何模板函数的实现在C + +,因为未来的教训将关闭一些这些概念。原来,C++不编译模板函数直接。相反,在编译的时候,当编译器调用一个函数模板,它复制的模板功能,并与实际类型代替模板类型参数!与实际类型的函数被调用函数模板实例。
让我们来看看这样一个例子看看。首先,我们有一个模板函数:
|
1
2
3
4
5
|
template
<typename
Type> //
this is the template parameter declarationType
max(Type tX, Type tY){ return
(tX > tY) ? tX : tY;} |
|
1
|
int
nValue = max(3, 7); //
calls max(int, int) |
|
1
2
3
4
|
int
max(int
tX, int
tY){ return
(tX > tY) ? tX : tY;} |
现在这是一个“正常”功能,可以编译成机器语言。
现在,让我们说以后在你的代码,你叫max()再次使用不同的类型:
|
1
|
double
dValue = max(6.34, 18.523); //
calls max(double, double) |
|
1
2
3
4
|
double
max(double
tX, double
tY){ return
(tX > tY) ? tX : tY;} |

1040

被折叠的 条评论
为什么被折叠?



