C++ vector详解:动态数组与操作方法

版权申诉
5星 · 超过95%的资源 14 下载量 172 浏览量 更新于2024-09-10 1 收藏 82KB PDF 举报
C++中的`vector`是标准模板库(STL)中一种重要的容器,它被设计为动态数组,允许存储不同类型的元素,并支持动态添加、删除和访问元素。使用`vector`前,需要包含头文件`<vector>`。为了方便使用,可以通过`using std::vector`来引入命名空间,或者直接使用全局命名空间`using namespace std`。 `vector`的主要操作包括: 1. **push_back(elem)**: 在`vector`的尾部添加新的元素`elem`。这个操作会自动调整容器的大小以容纳新元素。 2. **pop_back()**: 从`vector`的尾部删除最后一个元素。如果容器为空,则不会执行任何操作。 3. **assign(beg, end)**: 将一个范围内的元素 `[beg, end)` 赋值给`vector`。这相当于创建一个连续的子集并替换原容器的内容。 4. **assign(n, elem)**: 向`vector`中填充`n`个相同类型的`elem`。这可以用来快速初始化固定长度的容器。 5. **at(int index)**: 返回指定索引`index`的元素,如果索引越界,会抛出`out_of_range`异常。这是对元素的直接访问,需要注意索引的正确性。 6. **begin()** 和 **end()**: 分别返回指向`vector`的第一个元素和最后一个元素之后位置的迭代器。这两个函数用于遍历容器中的元素。 7. **rbegin()** 和 **rend()**: 提供反向迭代,`rbegin()`返回从后向前的第一个元素(即最后一个元素),而`rend()`则是最后一个元素之后的位置,常用于逆序遍历。 在实际编程中,`vector`的这些功能使得处理动态数据变得非常方便,无论是插入、删除还是查找,都能保持高效。通过理解并熟练运用这些方法,可以更好地管理和操作C++中的数据结构。