gpt4 book ai didi

c++ - 如何将 std::vector 的容量限制为元素的数量

转载 作者:太空宇宙 更新时间:2023-11-04 15:01:26 25 4
gpt4 key购买 nike

我的程序使用了 569MB 的内存,它只需要使用 500MB,我有很多不同大小的 std::vector有没有办法将容量设置为元素数量以避免内存开销。(我不考虑性能,内存是关键)

最佳答案

How to limit the capacity of std::vector to the number of element

您能做的最好的事情就是在添加元素之前保留所需的空间。这也应该有最好的性能,因为没有由它引起的重新分配和复制。

如果那不切实际,那么您可以在添加元素后使用 std::vector::shrink_to_fit()。当然,如果分配的峰值可能永远不会超过设定的限制,那也无济于事。

从技术上讲,标准不能保证这两种方法都能使容量与大小相匹配。您依赖于标准库实现的行为。

关于c++ - 如何将 std::vector 的容量限制为元素的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38432259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com