21xrx.com
2025-03-26 02:02:23 Wednesday
文章检索 我的文章 写文章
C++中vector的应用指南
2023-07-08 02:18:33 深夜i     11     0
C++ vector 应用 指南

在C++语言中,vector是一种非常实用的容器。它可以动态扩容,支持随机访问,易于维护和修改,能够轻松管理大量数据。本篇文章将指导读者如何正确地使用vector。

1. 声明和初始化

声明及初始化一个空vector很简单,只需在代码中加入如下语句:

std::vector<int> vec; // 声明一个int类型的vector,vec为空

如果需要在创建vector的时候给定初值,也可以这样写:

std::vector<int> vec = 1; // 声明并初始化vector

这里的{}就是初始化列表,用来初始化vector的元素。

2. 基本操作

接下来介绍一些vector的基本操作,如添加和删除元素、访问元素、查找元素等。

添加和删除元素:

vec.push_back(6); // 在vector末尾添加一个int类型的元素6
vec.pop_back(); // 删除最后一个元素
vec.insert(vec.begin(), 0); // 在vector开头插入一个int类型的元素0
vec.erase(vec.begin()); // 删除vector中的第一个元素

访问元素:

int value = vec[2]; // 访问vector中下标为2的元素
int value2 = vec.at(3); // 访问vector中下标为3的元素
int* p = &vec[4]; // 取得vector中下标为4的元素的地址

注意:在使用vector时,尽量不要使用下标访问元素,因为这种方式没有安全检测,可能会访问到越界的元素。建议使用at()函数来获取vector中某个元素的值。如果必须使用下标访问元素,请务必保证下标值在vector的有效范围内。

查找元素:

auto it = find(vec.begin(), vec.end(), 3); // 查找vector中第一个值为3的元素
if (it != vec.end()) { // 找到了
  std::cout << *it << std::endl; // 输出结果:3
} else // 没找到
  std::cout << "not found" << std::endl;

这里使用了STL中的find()函数来查找指定元素。需要注意的是,find()函数返回的是一个迭代器,如果找到了指定的元素,则返回该元素的迭代器;如果没找到,则返回vector的尾迭代器,即end()。

3. 遍历vector

遍历vector有多种方式,如使用for循环、使用范围for循环、使用迭代器等。

使用for循环:

for (int i = 0; i < vec.size(); i++) {
  std::cout << vec[i] << " "; // 依次输出vector中的元素
}
std::cout << std::endl;

使用范围for循环:

for (auto x : vec)
  std::cout << x << " "; // 依次输出vector中的元素
std::cout << std::endl;

使用迭代器:

for (auto it = vec.begin(); it != vec.end(); it++) {
  std::cout << *it << " "; // 依次输出vector中的元素
}
std::cout << std::endl;

这里使用了auto关键字,可以自动推断变量的类型,非常方便。

4. 总结

vector是C++中经典的STL容器之一,它具有动态扩容、支持随机访问等优点,是存储大量数据的最佳选择。本文介绍了C++中使用vector的基本操作,如声明和初始化、添加和删除元素、访问元素、查找元素以及遍历vector等,帮助读者理解vector的操作方法,在实际编程中更好地应用vector。

  
  

评论区