gpt4 book ai didi

c++ - push_back 的更快替代方案(大小已知)

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:10:43 35 4
gpt4 key购买 nike

我有一个浮点 vector 。当我处理某些数据时,我将其推回。在声明 vector 时我总是知道大小是多少。

对于最大的情况,它是 172,490,752 个 float 。 push_back 一切都需要大约 11 秒。

是否有更快的替代方案,例如不同的数据结构或其他?

最佳答案

如果你知道最终大小,那么 reserve()声明 vector 后的那个大小。这样它只需分配一次内存。

此外,您可以尝试使用 emplace_back()尽管我怀疑它会对 float 的 vector 产生任何影响。但是请尝试并对其进行基准测试(当然是使用优化的构建 - 您正在使用优化的构建 - 对吗?)。

关于c++ - push_back 的更快替代方案(大小已知),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44934038/

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