gpt4 book ai didi

c++ - 在堆 : small pieces or big piece 上分配的最佳方法是什么

转载 作者:行者123 更新时间:2023-11-28 06:12:22 26 4
gpt4 key购买 nike

比如我有一个代码

for (int i = 0; i < 1000; ++i)
{
Object obj = new Object();
/* Manipulation */
}

最好的方法是什么:

  • 保留这个版本并分配小块
  • 或者在开始时分配sizeof(Object) * 1000然后使用

我需要这个对象在循环之外。

我正在考虑问题,当堆找不到足够大的 block 时我请求的大小。

最佳答案

假设您希望对象的生命周期相同,则较大的分配将在分配和释放期间节省一点时间。可能有不这样做的原因,但总的来说我建议使用 std::vector<Object> objects(1000);在循环之前,然后修改 objects[i]在循环内,甚至循环...

for (Object& object : objects)
...

...如果你不需要i其他任何事情。

关于c++ - 在堆 : small pieces or big piece 上分配的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30994240/

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