C++ vector容器操作详解:获取尾元素与删除技巧

版权申诉
4 下载量 122 浏览量 更新于2024-09-12 收藏 63KB PDF 举报
在C++中,`vector`容器是一种动态数组,它提供了高效的数据存储和操作能力。本文主要总结了几个关键的vector操作方法,包括: 1. **获取最后一个元素**: - `back()` 函数用于获取容器中的最后一个元素,并支持常量访问(不会改变容器内容)和引用访问(可以修改元素)。例如: ```cpp std::vector<int> myVector; int lastElement = myVector.back(); // 常量访问 myVector.back() = 3; // 引用访问,修改最后一个元素 ``` - `rbegin()` 函数则返回一个反向迭代器,可用于从后向前访问元素。通过`*tailIter = 3`可以直接修改最后一个元素。 2. **删除元素**: - 删除元素时,推荐使用迭代器(`iterator`)而非`at(i)`,因为`at(i)`会引发异常如果索引超出范围。正确的做法是先定位到要删除的元素,然后调用`erase`函数。例如: ```cpp v1.erase(v1.begin()); // 删除第一个元素 v1.erase(v1.begin() + 1, v1.begin() + 3); // 删除指定范围内的元素 ``` - `erase`函数返回的是被删除元素后的新迭代器,可以用于后续的处理。 3. **向容器赋值**: - 当需要将一个vector与另一个vector进行赋值时,直接等于号(`=`)不可行,因为它会创建一个新的vector副本。正确的做法是: - 逐个元素复制,如: ```cpp for (const auto& item : delNode) { Node& dest = delPositionVector.back(); // 将源vector的元素添加到目标vector末尾 dest = item; } ``` - 或者使用`assign`函数,一次性替换整个容器: ```cpp delPositionVector.assign(delNode.begin(), delNode.end()); ``` 这些操作方法展示了vector容器在C++中的基本使用,包括元素访问、修改和容器间的数据转移。理解并熟练运用这些技巧,有助于编写高效且易于维护的代码。