c++中vector容器使用
时间: 2025-05-14 14:00:49 浏览: 18
### C++ 中 `vector` 容器的使用方法
#### 赋值操作符重载
赋值操作可以通过成员函数实现,允许一个向量的内容被另一个相同类型的向量所替换。这涉及到拷贝源向量中的元素到目标向量中,并释放原来分配给后者的所有内存资源[^1]。
```cpp
std::vector<int> vec1 = {1, 2, 3};
std::vector<int> vec2;
vec2 = vec1; // 使用赋值运算符复制 vec1 到 vec2
```
#### 迭代器支持
迭代器提供了访问容器内部存储的数据的方式。对于 `vector` 来说,可以创建指向其首尾位置的迭代器来进行遍历或者修改其中的元素。
#### 初始化方式
当定义多维数组时,需要注意语法格式以确保兼容性。例如,在较新的标准下可以直接声明而无需额外空格;但在某些旧版本编译环境下,则可能需要显式的分隔模板参数列表来避免解析错误[^2]:
```cpp
// 正确的形式用于新编译器
std::vector<std::vector<int>> matrix;
// 对于老旧编译环境应采用如下形式
std::vector<std::vector<int> > matrix_old_style;
```
为了指定具体的行列数,可以在构造函数调用期间提供相应的尺寸参数:
```cpp
size_t rows = 5;
size_t cols = 4;
std::vector<std::vector<int>> matrix(rows, std::vector<int>(cols));
```
#### 动态调整大小
除了静态设定容量外,还可以利用诸如 `push_back()` 和 `pop_back()` 方法动态增加或减少元素数量。前者会在末尾追加单个项,而后者的功能是从末端移除一项:
```cpp
matrix.push_back({0}); // 向矩阵的最后一行添加一列零值
matrix.back().push_back(7); // 或者直接扩展最后一行并设置特定数值
matrix.pop_back(); // 移除最底下的那一整行
```
另外还有清空整个集合的方法 `clear()`,它会使得当前对象变得为空状态而不改变它的最大容纳限度.
#### 数据存取机制
一旦建立了有效的索引范围内的引用之后就可以像常规指针那样对待这些迭代器了——即能够解引用它们从而获取对应的实体变量或是执行写入动作.
阅读全文
相关推荐

















