1. 请讲解一下c++中的模板?
C++中的模板(Templates)是一种用于生成通用代码的编程机制,允许在编写代码时定义通用的数据类型和算法,以适应多种不同类型的数据。模板可以在编译时根据具体的数据类型生成相应的代码,从而实现代码的重用和泛化。
模板在C++中有两种主要形式:函数模板和类模板。
- 函数模板(Function Templates): 函数模板允许你编写一个通用的函数,该函数可以在不同的数据类型下工作。函数模板的声明类似于普通函数的声明,但参数类型使用模板参数表示。
template <typename T>
T add(T a, T b) {
return a + b;
}
在调用函数模板时,编译器会根据传递的实际参数类型实例化出一个具体的函数。
int result1 = add(5, 10); // 实例化为 add<int>(5, 10)
double result2 = add(3.14, 2.71); // 实例化为 add<double>(3.14, 2.71)
- 类模板(Class Templates): 类模板允许你定义一个通用的类,可以用于多种数据类型。类模板的定义和使用类似于普通类,但其中的数据类型使用模板参数表示。
template <typename T>
class Stack {
private:
T data[100];
int top;
public:
Stack()