C++ 中 vector 类提供了多种清除数据的方法,以下是一些常用的方法:

  1. clear():清除所有元素,使 vector 的大小变为 0。
vector<int> vec = {1, 2, 3, 4, 5};
vec.clear(); // 清除所有元素
  1. erase():删除指定位置或范围的元素。
vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin() + 2); // 删除第 3 个元素(索引为 2)
vec.erase(vec.begin(), vec.begin() + 3); // 删除前 3 个元素
  1. pop_back():删除最后一个元素。
vector<int> vec = {1, 2, 3, 4, 5};
vec.pop_back(); // 删除最后一个元素,vec 变为 {1, 2, 3, 4}
  1. resize():改变 vector 的大小,若新的大小小于当前大小,则尾部的元素会被删除。
vector<int> vec = {1, 2, 3, 4, 5};
vec.resize(3); // 将 vector 大小改为 3,vec 变为 {1, 2, 3}
  1. assign():用新的元素替换 vector 中的内容。
vector<int> vec = {1, 2, 3, 4, 5};
vec.assign(3, 0); // 用 3 个 0 替换 vec 中的所有元素,vec 变为 {0, 0, 0}

注意:以上方法只是清除 vector 中的元素,不会释放 vector 所占用的内存空间。若需要释放内存空间,可以使用 swap() 方法:

vector<int>().swap(vec); // 释放 vec 占用的内存空间
C++ vector 清除数据方法详解:clear()、erase()、pop_back()、resize()、assign() 和 swap()

原文地址: https://www.cveoy.top/t/topic/6gQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录