模板在 c++++ 标准库中的应用:vector 模板:用于存储和管理可动态增长的元素集合。map 模板:用于存储键值对,键可比较且值可任意类型。自定义模板类:允许创建可针对不同类型进行参数化的通用代码类。
C++ 标准库中的模板化示例
C++ 标准库广泛使用模板,提供可重复使用、类型安全且高效的代码。模板是用于创建通用代码的蓝图,它可以针对不同类型进行参数化。
vector 模板
vector 是 C++ 标准库中一个常用的模板容器。它是一个动态数组,用于存储和管理元素集合。
#include <vector>
int main() {
// 创建一个空 vector
std::vector<int> v;
// 添加元素
v.push_back(1);
v.push_back(2);
v.push_back(3);
// 访问元素
for (int i = 0; i < v.size(); i++) {
std::cout << v[i] << " ";
}
// 输出:1 2 3
return 0;
}
在这个示例中,vector 模板被用于存储 int 类型的数据。我们创建了一个空 vector,然后使用 push_back 方法添加了元素。可以通过 [] 操作符访问元素。
map 模板
map 是另一个模板容器,用于存储键值对。键可以是任何可比较的类型,而值可以是任何类型。
#include <map>
int main() {
// 创建一个空 map
std::map<std::string, int> m;
// 添加键值对
m["Alice"] = 20;
m["Bob"] = 30;
// 访问值
std::cout << m["Alice"] << std::endl; // 输出:20
return 0;
}
在这个示例中,map 模板被用于存储 string 类型的键和 int 类型的值。我们创建了一个空 map,然后使用 [] 操作符添加了键值对。可以通过键名访问值。
自定义模板类
除了标准库提供的模板外,我们还可以创建自己的模板类。例如,我们可以创建一个模板类来查找元素的最小值或最大值:
template <typename T>
T find_max(T a, T b) {
return (a > b) ? a : b;
}
int main() {
int max_int = find_max(10, 20); // 返回 20
double max_double = find_max(3.14, 2.71); // 返回 3.14
return 0;
}
在这个示例中,find_max 模板函数被用于查找两个元素的最小值或最大值。它可以针对任何可比较的类型进行参数化,如这个示例中所示。
以上就是C++标准库中模板化的例子?的详细内容,更多请关注编程网其它相关文章!