c++vector用法stl
时间: 2025-01-24 13:06:47 浏览: 32
### C++ STL Vector 使用教程
#### 包含头文件
为了使用 `std::vector`,程序中必须包含 `<vector>` 头文件。这是因为 `vector` 是模板类,在使用前需显式实例化[^2]。
```cpp
#include <iostream>
#include <vector>
int main() {
// 实例化一个整数类型的向量
std::vector<int> myVector;
}
```
#### 构造函数
`std::vector` 提供多种构造方式来创建对象:
- 默认构造:创建空的 `vector`
```cpp
std::vector<int> emptyVec; // 创建一个空的整型向量
```
- 带参数构造:指定初始容量或初始化列表
```cpp
std::vector<int> vecWithValues(5, 10); // 初始化含有五个值为10的元素
std::vector<int> initList = {1, 2, 3, 4, 5}; // 利用初始化列表赋初值
```
这些构造形式均来自定义说明[^4]。
#### 添加与移除元素
可以利用成员函数如 `push_back()` 和 `pop_back()` 来动态调整容器内的数据项数量。
```cpp
myVector.push_back(7); // 向末尾追加新元素
if (!myVector.empty()) {
myVector.pop_back(); // 如果不为空,则删除最后面的一个元素
}
```
上述操作展示了如何增删元素[^1]。
#### 访问元素
通过下标运算符 `operator[]` 或者迭代器遍历的方式获取内部存储的数据。
```cpp
// 下标访问第一个和第三个位置上的数值
std::cout << "First element is " << myVector[0] << "\n";
std::cout << "Third element is " << myVector[2] << "\n";
for (auto it = myVector.begin(); it != myVector.end(); ++it) {
std::cout << *it << ' ';
}
// 修改第二个位置处的内容
myVector[1] = 99;
// 遍历并打印更新后的全部内容
for (const auto& elem : myVector) {
std::cout << elem << ' ';
}
```
此部分代码片段解释了怎样读写特定索引下的项目以及整体输出整个序列[^3]。
#### 调整大小
当需要改变已存在 `vector` 的尺寸时,可调用其提供的 `resize()` 方法实现扩容或缩容功能。
```cpp
std::vector<int> smallVec{1, 2};
smallVec.resize(5); // 将长度扩展至五位,默认新增添的位置会自动补零
```
这段例子体现了设置新的规模后的行为模式[^5]。
阅读全文
相关推荐
















