台州建设网站,asp网站如何改首页布局视频教程,ui设计经典案例,百安居装修官网1️⃣ 模板是什么#xff1f;
模板#xff08;Template#xff09;是 C 的一种泛型机制#xff0c;让你写一次代码#xff0c;支持多种数据类型。
常用于实现 「类型无关」 的函数或类#xff0c;比如 std::vectorT、std::sort() 等都基于模板。 2️⃣ 函数模板…1️⃣ 模板是什么
模板Template是 C 的一种泛型机制让你写一次代码支持多种数据类型。
常用于实现 「类型无关」 的函数或类比如 std::vectorT、std::sort() 等都基于模板。 2️⃣ 函数模板Function Template 定义语法
templatetypename T
T add(T a, T b) {return a b;
}分解语法 templateC 关键字表示“声明一个模板”。 typename T T 是类型参数像函数的形参一样是“类型的占位符”。typename 表示 T 是一个类型名也可以写作 class T两者等价只是 typename 在现代 C 中更推荐使用。 T add(T a, T b)这里 T 被当作类型使用函数参数和返回值都用这个模板参数。 templatetypename T必须紧挨着函数或类定义上方 使用方法
int result addint(3, 5); // 显式指定类型为 int
double d add(1.1, 2.2); // 编译器自动推导类型为 double✅ 模板定义必须放在头文件或 .h/.hpp 文件中因为模板是在编译时实例化的。 3️⃣ 类模板Class Template 定义语法
templatetypename T
class Box {
public:void set(T v) { value v; }T get() { return value; }
private:T value;
};分解语法
与函数模板一样先写一行 templatetypename T 来声明类型参数。class Box 里可以使用这个类型参数 T例如作为成员变量、函数参数或返回值的类型。 使用方法
Boxint b1;
b1.set(10);Boxstd::string b2;
b2.set(hello);✅ 类模板也必须放在头文件中不能只声明不定义。