在 C 中,vector<int>
是一个模板类的实例化,表示一个动态数组,其元素类型为 int
。模板类是 C 中的一种泛型编程机制,允许你定义一个类或函数,使其能够适用于多种数据类型。
模板类的概念
- 模板类:模板类是一种在定义时未指定具体类型的类。它使用模板参数(通常用尖括号
<...>
包围)来表示类型。 - 实例化:当你使用
vector<int>
时,你实际上是在实例化vector
模板类,指定其元素类型为int
。这意味着vector<int>
是一个专门用于存储int
类型元素的动态数组。
vector<int>
的含义
vector
:vector
是 C++ 标准库中的一个容器类,用于存储元素。它提供了动态数组的功能,可以自动调整大小以容纳更多元素。<int>
:尖括号中的int
表示vector
的元素类型。这意味着vector<int>
可以存储int
类型的元素,并且提供了与int
类型相关的操作。
为什么使用模板类
- 类型灵活性:模板类允许你在不改变代码的情况下,使用不同的数据类型。例如,你可以使用
vector<double>
来存储double
类型的元素,或者使用vector<string>
来存储字符串。 - 代码重用:通过模板类,你可以编写通用的代码,适用于多种数据类型,从而提高代码的重用性。
- 类型安全:模板类在编译时会进行类型检查,确保类型的一致性和安全性。
示例
#include <vector>
#include <iostream>
int main() {
std::vector<int> v; // 创建一个 vector<int> 对象
v.push_back(1); // 向 vector 中添加一个 int 元素
v.push_back(2); // 再添加一个 int 元素
for (int x : v) {
std::cout << x << " "; // 输出 vector 中的元素
}
std::cout << std::endl;
return 0;
}
在这个示例中,vector<int>
用于存储 int
类型的元素,并通过 push_back
方法动态添加元素。通过使用模板类,你可以轻松地创建不同类型的 vector
,例如 vector<double>
或 vector<string>
,以满足不同的需求。