好的!这里是一份【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>
定义。 - 支持各种数据类型实例化。
⚠️ 四、模板注意事项
- 模板定义通常写在头文件(.h),以便编译器实例化。
- 模板参数可以是类型(
typename
或class
)或非类型(如整数)。 - 模板代码编译时根据具体参数生成实例代码。
📚 五、小结
类型 | 用途 | 说明 |
---|---|---|
函数模板 | 通用函数 | 自动生成对应类型函数 |
类模板 | 通用类 | 支持多种类型实例化 |
模板让 C++ 程序更灵活,减少代码冗余,是学习 C++ 的重要基础。
需要我帮你准备更详细的进阶模板用法、模板元编程示例或模板实战项目吗?
发表回复