gpt4 book ai didi

c++ - 为什么我更喜欢使用 vector 到双端队列

转载 作者:IT老高 更新时间:2023-10-28 12:05:42 28 4
gpt4 key购买 nike

自从

  1. 它们都是连续的内存容器;
  2. 在功能方面,deque 几乎具备 vector 的所有功能,但更多,因为插入到前面更有效。

为什么有人更喜欢 std::vector 而不是 std::deque

最佳答案

deque 中的元素在内存中连续; vector 元素保证是。因此,如果您需要与需要连续数组的普通 C 库进行交互,或者如果您(非常)关心空间局部性,那么您可能更喜欢 vector。此外,由于有一些额外的簿记,其他操作可能(稍微)比它们等效的 vector 操作更昂贵。另一方面,使用 vector 的许多/大型实例可能会导致不必要的堆碎片(减慢对 new 的调用)。

另外,正如所指出的 elsewhere on StackOverflow ,这里有更多好的讨论:http://www.gotw.ca/gotw/054.htm .

关于c++ - 为什么我更喜欢使用 vector 到双端队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5345152/

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