gpt4 book ai didi

c++ - 在 C++ 中为给定场景选择 List 或 Vector

转载 作者:行者123 更新时间:2023-12-01 20:19:14 26 4
gpt4 key购买 nike

对于我的应用程序,我使用 STD vector 。我在末尾插入 vector ,但从 vector 中随机删除,即可以从中间、前面的任何位置删除元素。这两个只是要求,1)在末尾插入2)从任何地方删除。

所以我应该使用 STD List,因为删除会移动数据。或者我会出于任何原因在我的代码中保留 Vector??

请发表评论,如果 Vector 是更好的选择,那么这里的 List 会更好吗?

最佳答案

使用 std::vector 而不是 std::list 的一个关键原因是 cache locality 。在这方面,列表很糟糕,因为它的元素可能(并且通常)在您的内存中支离 splinter 。这会显着降低性能。

有些人会建议几乎总是使用std::vector。就性能而言,缓存局部性往往比插入或删除的复杂性更重要。

Here's a video about Bjarne Stroustrup's opinion regarding subject .

关于c++ - 在 C++ 中为给定场景选择 List 或 Vector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19790796/

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