c++中如何清空一个vector_c++清空vector容器的正确方式

最常用清空vector的方法是clear(),它移除所有元素并置大小为0但不释放内存;若需释放内存,可使用swap技巧或赋值空vector,如vec = {}。

c++中如何清空一个vector_c++清空vector容器的正确方式

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

使用 clear() 清空 vector

clear() 会调用每个元素的析构函数(对类类型而言),然后将容器大小设为0。

示例代码:

 #include <vector> #include <iostream>  int main() {     std::vector<int> vec = {1, 2, 3, 4, 5};          vec.clear();  // 清空所有元素      std::cout << "Size after clear: " << vec.size() << std::endl;  // 输出 0 } 

释放内存:使用 swap 技巧

调用 clear() 并不会释放底层内存。如果希望同时释放内存,可以使用 swap 方法:

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

这行代码创建了一个临时的空 vector,然后与原 vector 交换内容。原 vector 变为空且释放内存,临时 vector 在语句结束后被销毁。

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

c++中如何清空一个vector_c++清空vector容器的正确方式

智谱清影

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

c++中如何清空一个vector_c++清空vector容器的正确方式74

查看详情 c++中如何清空一个vector_c++清空vector容器的正确方式

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

另一种简洁的方式是直接赋值一个空的 vector:

 vec = std::vector<int>();  // 将 vec 替换为一个空 vector 

或更现代的写法:

 vec = {};  // 等价于赋值空初始化列表 

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

基本上就这些。日常使用 clear() 就够了;若需立即释放内存,配合 swap 或赋值空对象即可。不复杂但容易忽略细节。

上一篇
下一篇
text=ZqhQzanResources