好的!这里是一份【C++ 模板(初阶)】的教学内容,适合初学者快速理解模板的核心概念和基本用法。

🧭【C++ 模板(初阶)】

模板是 C++ 的一大特色,支持编写与类型无关的通用代码,提高代码复用性和灵活性。


🎯 一、模板的概念

  • 模板(Template)允许编写泛型代码,类型参数化。
  • 可以让函数或类适用于多种数据类型。
  • 主要有两类:
    • 函数模板:通用函数定义。
    • 类模板:通用类定义。

🔧 二、函数模板示例

#include <iostream>
using namespace std;

template<typename T>
T add(T a, T b) {
    return a + b;
}

int main() {
    cout << add<int>(3, 4) << endl;      // 7
    cout << add<double>(2.5, 3.5) << endl; // 6.0
    cout << add(10, 20) << endl;          // 自动类型推断,30
}
  • template<typename T> 声明模板参数 T
  • 模板函数可自动根据参数推断类型。

🔧 三、类模板示例

#include <iostream>
using namespace std;

template<typename T>
class MyBox {
private:
    T value;
public:
    MyBox(T v) : value(v) {}
    void show() { cout << "Value: " << value << endl; }
};

int main() {
    MyBox<int> box1(100);
    box1.show();

    MyBox<string> box2("Hello");
    box2.show();
}
  • 类模板通过 template<typename T> 定义。
  • 支持各种数据类型实例化。

⚠️ 四、模板注意事项

  1. 模板定义通常写在头文件(.h),以便编译器实例化。
  2. 模板参数可以是类型(typename 或 class)或非类型(如整数)。
  3. 模板代码编译时根据具体参数生成实例代码。

📚 五、小结

类型用途说明
函数模板通用函数自动生成对应类型函数
类模板通用类支持多种类型实例化

模板让 C++ 程序更灵活,减少代码冗余,是学习 C++ 的重要基础。


需要我帮你准备更详细的进阶模板用法、模板元编程示例或模板实战项目吗?