如何缩小std :: vector? [英] How to downsize std::vector?

查看:159
本文介绍了如何缩小std :: vector?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我不再需要预留空间时,是否有办法调整std :: vector的大小以降低容量?

Is there a way to resize a std::vector to lower capacity when I no longer need previously reserved space?

推荐答案

有效的STL,作者Scott Meyers,第17项:使用 swap 技巧修剪过剩的能力。

Effective STL, by Scott Meyers, Item 17: Use the swap trick to trim excess capacity.

vector<Person>(persons).swap(persons);

之后, persons fit。

这依赖于向量的复制构造函数只根据需要分配内存的事实对于要复制的元素。

This relies on the fact that vector's copy constructor allocates only as much as memory as needed for the elements being copied.

这篇关于如何缩小std :: vector?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆