模板是 C++中一个重要的部分,也是泛型编程的基础,一个模板就是一个创建类或函数的蓝图,使用它在很多时候都能给我们带来巨大的便利。
一、函数模板
定义一个函数模板的语法为:
|
1 2 3 4 5 6 7 |
template <typename T> int compare(const T &v1, const T &v2) { if (v1 < v2) return -1; else if (v1 > v2) return 1; else return 0; } |
模板以关键字 template 开始,后面跟一个模板参数列表,和函数的形参一样,参数列表可以是多个以逗号隔开的一个或多个参数,外部用<> 包起来。
T 代表一种数据类型,可以为任意的内置类型或自定义类,只要该类型实现了函数重载,就可以通过 compare() 函数进行比较。