c++中怎么清空vector_c++ vector容器清空操作方法

最常用的方法是调用clear()函数,它会移除所有元素使size变为0,但capacity不变,不释放底层内存,时间复杂度为O(n),例如vec.clear()后容器为空但容量保留。

c++中怎么清空vector_c++ vector容器清空操作方法

在C++中,清空一个 vector 容器最常用的方法是使用其成员函数 clear()。这个函数会移除容器中的所有元素,使 vector 变为空,同时保持其容量(capacity)不变。

使用 clear() 函数清空 vector

clear() 是最直接的方式,调用后 vector 的大小(size)变为 0,但底层内存可能仍然保留。

  • 不会释放已分配的内存(容量可能不变)
  • 时间复杂度为 O(n),因为要析构每个元素

示例代码:

vector vec = {1, 2, 3, 4, 5};
vec.clear(); // 清空所有元素
cout

彻底释放内存:使用 swap 技巧

如果希望在清空的同时释放 vector 占用的内存,可以和一个空 vector 交换。

立即学习C++免费学习笔记(深入)”;

c++中怎么清空vector_c++ vector容器清空操作方法

智谱清影

智谱清影是智谱ai最新推出的一款AI视频生成工具

c++中怎么清空vector_c++ vector容器清空操作方法74

查看详情 c++中怎么清空vector_c++ vector容器清空操作方法

  • 创建一个空的临时 vector
  • 与原 vector 调用 swap,原 vector 变为空并释放内存

示例代码:

vector vec = {1, 2, 3, 4, 5};
vector().swap(vec); // 清空并释放内存

赋值空 vector(C++11 起推荐)

更简洁的方式是直接赋值一个空的初始化列表。

vec = {}; // 等价于清空
// 或者:
vec = vector(); // 创建临时空对象并赋值

这种方式也会触发析构和内存释放,效果类似于 swap 方法。

基本上就这些方法。日常使用 clear() 就够了;若需立即释放内存,推荐 vec = {}swap 技巧。

相关标签:

c++ 成员函数

上一篇
下一篇