C++ 模板是一种强大的特性,它允许我们编写与类型无关的代码。模板可以用于创建泛型编程,使得代码更加灵活和可重用。
模板类型
C++ 模板主要分为以下几类:
- 函数模板:允许你编写一个函数,它可以接受任何类型的参数。
- 类模板:允许你编写一个类,它可以接受任何类型的参数。
函数模板示例
以下是一个简单的函数模板示例:
template <typename T>
T add(T a, T b) {
return a + b;
}
这个函数模板可以用于任何类型的加法操作。
类模板示例
以下是一个简单的类模板示例:
template <typename T>
class Stack {
private:
T* elements;
int top;
int capacity;
public:
Stack(int cap) : capacity(cap), top(-1) {
elements = new T[capacity];
}
~Stack() {
delete[] elements;
}
void push(T item) {
if (top < capacity - 1) {
elements[++top] = item;
}
}
T pop() {
if (top >= 0) {
return elements[top--];
}
return T();
}
};
这个类模板可以用于创建任何类型的栈。
扩展阅读
更多关于 C++ 模板的信息,请参阅 C++ 模板教程。
C++ Template