值得一看
广告
彩虹云商城
广告

热门广告位

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++免费学习笔记(深入)”;

智谱清影

智谱清影

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

智谱清影74

查看详情
智谱清影

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

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

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

或更现代的写法:

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

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

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

相关标签:

c++ ai ios stream 成员函数 析构函数 对象

大家都在看:

C++怎么解决菱形继承问题_C++虚继承机制详解及菱形继承解决方法
c++怎么自定义类的拷贝构造函数和赋值运算符_c++类拷贝构造与赋值运算符实现方法
c++如何连接两个字符串_c++字符串拼接多种实现方法
c++中如何读取文本文件的内容_c++文件读取操作的常见方法总结
c++如何使用正则表达式_c++正则regex库使用教程
温馨提示: 本文最后更新于2025-10-22 16:34:57,某些文章具有时效性,若有错误或已失效,请在下方留言或联系在线客服
文章版权声明 1 本网站名称: 创客网
2 本站永久网址:https://new.ie310.com
1 本文采用非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
2 本站所有内容仅供参考,分享出来是为了可以给大家提供新的思路。
3 互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责!
4 本网站只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。
5 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。
6 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,能不能赚钱需要自己判断。
7 本网站仅做资源分享,不做任何收益保障,创业公司上收费几百上千的项目我免费分享出来的,希望大家可以认真学习。
8 本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系79283999@qq.com删除。

本站资料仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END
喜欢就支持一下吧
点赞6赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容