c++ vector用法

在C++中,vector是标准模板库(STL)中的一个类模板,用于创建动态数组。以下是vector的基本用法:

包含头文件

在使用vector之前,需要包含相应的头文件:

#include <vector>

声明和初始化

vector可以通过不同的方式进行声明和初始化:

  1. 声明一个空的vector
std::vector<int> vec;
  1. 声明并初始化一个指定大小的vector,所有元素被初始化为指定值:
std::vector<int> vec(10, 0); // 初始化10个元素,每个元素值为0
  1. 使用一个已有的vector来初始化一个新的vector
std::vector<int> vec1(vec); // 复制vec1到vec2
  1. 使用迭代器范围构造vector
std::vector<int> vec(std::begin(some_array), std::end(some_array));

访问元素

可以通过下标或迭代器访问vector中的元素:

std::vector<int> vec = {1, 2, 3};
std::cout << vec << std::endl; // 输出1

添加和删除元素

  • 使用push_backvector尾部添加元素:
vec.push_back(4);
  • 使用pop_back删除vector尾部的最后一个元素:
vec.pop_back();
  • 使用erase删除vector中指定位置的元素:
vec.erase(vec.begin() + 2); // 删除索引为2的元素

其他操作

  • size:返回vector中元素的数量。

  • capacity:返回vector当前分配的存储容量。

  • max_size:返回vector可以存储的最大元素数量。

  • resize:改变vector中元素的数量,如果新大小大于当前大小,则填充默认值。

  • reserve:改变vector的容量,不改变元素数量。

注意事项

  • 使用at方法访问元素时,如果索引超出范围,会抛出std::out_of_range异常。

  • vector是同步的,即线程安全的,但这也意味着它的性能可能不如非同步的容器。

以上是vector的基本用法,根据具体需求,还可以使用vector提供的其他成员函数进行操作。需要注意的是,随着时间的推移,C++标准库可能会更新,因此推荐的实践是查阅最新的C++标准文档或参考教材以获得最准确的信息

Top