gpt4 book ai didi

c++ - std::vector 是否适合频繁调整大小?

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

我正在创建一个有小“粒子”的游戏。它们的数量变化非常频繁(每隔几秒),我想知道存储它们的最佳方式是什么。 std::vectorstd::deque 对此更好吗?

是否可以保留永远不会被使用的空间(在那个容器中)(我有上限)?

最佳答案

如果顺序无关紧要(我认为这无关紧要),您可以将它替换为 vector 中的另一个粒子,而不是移除一个粒子

std::vector<Particle> particles;

当您删除索引 i 处的粒子时 - 只需用最后一个粒子填充空白区域:

particles[i] = particles.back();
particles.pop_back();

如果使用指针 vector ,您可以使其更快。

关于c++ - std::vector 是否适合频繁调整大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11428191/

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