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

在C++中清空一个 vector 容器,最常用且正确的方式是使用 clear() 成员函数。这个方法会移除容器中的所有元素,使容器变为空,同时保持其容量不变。
使用 clear() 清空 vector
clear() 会调用每个元素的析构函数(对类类型而言),然后将容器大小设为0。
示例代码:
#include #include int main() { std::vector vec = {1, 2, 3, 4, 5}; vec.clear(); // 清空所有元素 std::cout << "Size after clear: " << vec.size() << std::endl; // 输出 0}
释放内存:使用 swap 技巧
调用 clear() 并不会释放底层内存。如果希望同时释放内存,可以使用 swap 方法:
std::vector vec = {1, 2, 3, 4, 5};vec.clear();std::vector().swap(vec); // 清空并释放内存
这行代码创建了一个临时的空 vector,然后与原 vector 交换内容。原 vector 变为空且释放内存,临时 vector 在语句结束后被销毁。
立即学习“C++免费学习笔记(深入)”;
赋值空 vector(C++11 起推荐)
另一种简洁的方式是直接赋值一个空的 vector:
vec = std::vector(); // 将 vec 替换为一个空 vector
或更现代的写法:
vec = {}; // 等价于赋值空初始化列表
这种方式也会触发析构和内存释放,效果类似于 swap 方法。
基本上就这些。日常使用 clear() 就够了;若需立即释放内存,配合 swap 或赋值空对象即可。不复杂但容易忽略细节。
以上就是c++++中如何清空一个vector_c++清空vector容器的正确方式的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1480389.html
微信扫一扫
支付宝扫一扫