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