当前位置:首页 > C++ > 正文

C++ vector库详解(小白也能看懂的vector容器使用教程)

在C++编程中,vector 是标准模板库(STL)中最常用、最基础的容器之一。它提供了一个可以动态调整大小的数组,非常适合初学者和高级开发者使用。本文将围绕 C++ vector库详解 这一主题,带你从零开始掌握 vector 的基本用法、常用函数以及实际应用场景。

C++ vector库详解(小白也能看懂的vector容器使用教程) vector库详解 vector容器使用教程 STL vector vector动态数组 第1张

什么是 vector?

vector 是 C++ STL(Standard Template Library)中的一个序列容器,它封装了动态数组的功能。与普通数组不同,vector 可以在运行时自动调整大小,无需手动管理内存。你只需包含头文件 <vector> 即可使用。

vector 的主要特点包括:

  • 支持随机访问(通过下标)
  • 尾部插入/删除效率高(O(1) 均摊)
  • 自动内存管理
  • 连续内存存储,缓存友好

如何声明和初始化 vector?

要使用 vector,首先需要包含头文件:

#include <vector>using namespace std;

以下是几种常见的初始化方式:

// 1. 创建空 vectorvector<int> v1;// 2. 指定初始大小(所有元素为0)vector<int> v2(5);// 3. 指定大小和初始值vector<int> v3(5, 10); // 5个元素,每个都是10// 4. 使用初始化列表(C++11起)vector<int> v4 = {1, 2, 3, 4, 5};// 5. 从另一个 vector 复制vector<int> v5(v4);

vector 常用操作详解

掌握以下常用函数,就能应对大多数场景:

1. 添加元素:push_back()

vector<string> names;names.push_back("Alice");names.push_back("Bob");

2. 访问元素:[] 或 at()

cout << names[0] << endl;        // 不检查越界cout << names.at(1) << endl;     // 越界会抛出异常

3. 获取大小和容量

cout << "size: " << v4.size() << endl;      // 元素个数cout << "capacity: " << v4.capacity() << endl; // 当前分配的内存容量

4. 删除元素

v4.pop_back();          // 删除最后一个元素v4.clear();             // 清空所有元素

5. 遍历 vector

// 方法1:传统 for 循环for (int i = 0; i < v4.size(); ++i) {    cout << v4[i] << " ";}// 方法2:基于范围的 for 循环(C++11)for (const auto& elem : v4) {    cout << elem << " ";}// 方法3:使用迭代器for (auto it = v4.begin(); it != v4.end(); ++it) {    cout << *it << " ";}

性能注意事项

虽然 vector 使用方便,但也要注意其性能特性:

  • 在尾部插入/删除很快,但在中间或头部操作较慢(需移动元素)
  • 当容量不足时,vector 会重新分配更大内存并复制所有元素,这可能导致性能抖动
  • 可使用 reserve(n) 预先分配足够空间,避免频繁扩容
vector<int> v;v.reserve(1000); // 预分配1000个元素的空间for (int i = 0; i < 1000; ++i) {    v.push_back(i); // 不会触发内存重新分配}

总结

通过本教程,你应该已经掌握了 C++ vector库详解 的核心内容。无论是创建、初始化、增删改查,还是性能优化,vector 都是一个强大而灵活的工具。作为 C++ STL vector 中最常用的容器,熟练使用它将极大提升你的编程效率。

记住,vector 是 vector动态数组 的最佳实现之一,特别适合需要频繁尾部操作的场景。如果你正在学习 vector容器使用教程,建议多动手写代码,加深理解。

祝你在 C++ 编程之旅中越走越远!