首页 > 后端开发 > C++ > 如何将 std::vector 缩小到其实际大小:交换技巧解释

如何将 std::vector 缩小到其实际大小:交换技巧解释

Barbara Streisand
发布: 2024-10-26 07:05:03
原创
530 人浏览过

How to Shrink a std::vector to its Actual Size: The Swap Trick Explained

缩小 std::Vector 的大小:交换技巧

当保留空间没有时减少 std::vector 的容量如果需要更长的时间,可以采用 Scott Meyers 在他的《Effective STL》一书中推荐的“交换技巧”。其工作原理如下:

  1. 创建具有所需容量的新向量:
vector<Person> new_persons(size_of_new_vector);
登录后复制
  1. 交换内容原始向量和新向量的数量:
new_persons.swap(persons);
登录后复制

执行交换后,原始向量,人,将被“缩小以适应”,这意味着它将仅占用所需的内存它当前持有的元素数量。

该技术利用了向量的复制构造函数,它仅为正在复制的元素分配内存,有效减少了原始向量的多余容量。

以上是如何将 std::vector 缩小到其实际大小:交换技巧解释的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板