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

C++ vector容器完全入门指南(零基础也能轻松掌握C++ vector容器基础)

在C++标准模板库(STL)中,vector容器是最常用、最基础的动态数组实现。无论你是刚接触编程的新手,还是正在学习C++的开发者,掌握C++ vector容器的使用方法都是必不可少的一步。

C++ vector容器完全入门指南(零基础也能轻松掌握C++ vector容器基础) vector容器 vector基础教程 STL vector 新手学vector 第1张

什么是vector?

std::vector 是C++ STL(标准模板库)中的一个序列容器,它封装了动态大小的数组。与普通数组不同,vector可以在运行时自动调整其大小,无需手动管理内存。

简单来说,你可以把vector理解为“会自动扩容的数组”。这使得它非常适合处理元素数量不确定的场景。

如何使用vector?

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

#include <vector>#include <iostream>using namespace std;  

vector的基本操作

1. 创建vector

// 创建一个空的int类型vectorvector<int> v1;// 创建一个包含5个元素,每个元素初始化为10的vectorvector<int> v2(5, 10);// 使用初始化列表创建vector(C++11及以上)vector<int> v3 = {1, 2, 3, 4, 5};  

2. 添加和删除元素

vector<int> v;v.push_back(10);  // 在末尾添加元素v.push_back(20);v.push_back(30);// 输出:10 20 30cout << v[0] << " " << v[1] << " " << v[2] << endl;v.pop_back();  // 删除最后一个元素  

3. 访问元素

vector<int> v = {10, 20, 30};// 方法1:使用下标访问(注意:不进行越界检查)cout << v[0] << endl;// 方法2:使用at()方法(会进行越界检查,更安全)cout << v.at(1) << endl;// 获取第一个和最后一个元素cout << v.front() << endl;  // 第一个cout << v.back() << endl;   // 最后一个  

4. 获取大小和容量

vector<int> v = {1, 2, 3};cout << "当前元素个数: " << v.size() << endl;      // 输出 3cout << "当前容量: " << v.capacity() << endl;    // 可能输出 3 或更大v.reserve(10);  // 预留至少10个元素的空间cout << "预留后容量: " << v.capacity() << endl;  // 至少为10  

为什么选择vector?

  • 自动内存管理:无需手动分配/释放内存
  • 连续存储:支持快速随机访问(O(1)时间复杂度)
  • 动态扩容:插入元素超出容量时自动扩展
  • 兼容STL算法:可与sort、find等通用算法无缝配合

完整示例:统计成绩

下面是一个使用vector存储学生考试成绩并计算平均分的小程序:

#include <vector>#include <iostream>#include <numeric>  // for accumulateusing namespace std;int main() {    vector<double> scores = {85.5, 90.0, 78.5, 92.0, 88.0};        cout << "共有 " << scores.size() << " 位学生的成绩:\n";    for (double s : scores) {        cout << s << " ";    }    cout << endl;        double sum = accumulate(scores.begin(), scores.end(), 0.0);    double avg = sum / scores.size();        cout << "平均分: " << avg << endl;        return 0;}  

总结

通过本教程,你已经掌握了C++ vector容器的基础用法。作为C++ STL vector中最核心的容器之一,vector因其易用性和高效性被广泛应用于各种项目中。

记住几个关键点:

  • 使用 push_back() 添加元素
  • 使用 size() 获取当前元素数量
  • 下标访问快但不安全,at() 更安全
  • vector是连续内存,适合频繁随机访问

希望这篇vector基础教程能帮助你顺利开启C++ STL的学习之旅!多加练习,你会越来越熟练的。

关键词回顾:C++ vector容器vector基础教程C++ STL vector新手学vector