避免重复除了不同类型之外在其他方面相同的代码.有时您根本无法依赖隐式转换或升级,也无法将所有内容都填充到对象层次结构中.
模板是 C++ 的重要组成部分,正如已经提到的,它们允许您开发通用类型的函数或类。您在使用它们时指定类型。如果没有其他原因,为了理解 boost 和标准模板库,你真的应该学习模板。
这些库为您提供了一整套容器和算法,适用于任何内置或用户定义的类型。
例如向量类:
vector<int> v(3); // Declare a vector of 3 elements.
v[0] = 7;
v[1] = v[0] + 3;
v[2] = v[0] + v[1]; // v[0] == 7, v[1] == 10, v[2] == 17
Run Code Online (Sandbox Code Playgroud)
此类的客户端将其指定为 int 向量,但它也可以很容易地是字符串或任何其他类型的向量。