函数模板 :
template<class T> T
max(T a, T b){return (a > b)? a: b;}
使用时:
max<int>(a, b); // Yeah, the "<int>" is optional most of the time.
但如果您允许, 我们可以这样写模板 :
T max<class T>(T a, T b){return (a > b)? a: b;}
//I know the return type T is not in its scope, don t focus on that.
这样我们就可以保持同样的声明形式, 并使用和正常功能一样的功能。 甚至不需要引入和输入关键字“ 模板 ” 。 我认为类模板是一样的 。 那么, 是否还有其他理由让模板成为我们今天所知道的形式?
i 更改了表单,使您不关注返回类型:
auto max<class T>(T a, T b) -> T {return (a > b)? a: b;}
//This is C++11 only and ugly i guess.
//The type deduce happens at compile time
//means that return type really didn t to be a problem.