gpt4 book ai didi

c++ - std::stack 和 std::queue 缓存友好吗?

转载 作者:行者123 更新时间:2023-11-28 00:08:29 25 4
gpt4 key购买 nike

std::stack 和 std::queue 是否在连续内存中分配它们的数据,因此它们被认为是“缓存友好的”?

最佳答案

std::stackstd::queue 是容器适配器,一种在编译时确定的容器上提供精简统一接口(interface)的奇怪野兽。

默认情况下,他们使用 std::deque 作为他们的后备存储,这并不是所有的缓存友好(在我检查过的每个实现中)。

stack 可以很容易地传递一个 vector,这使得它对缓存友好。

queue 使用 vector 很棘手。您要么必须将 vector 包装到循环缓冲区中,要么使其成为双端 vector 。这两者都非常重要。

std 中唯一缓存友好的自适应大小容器是 vector (及其近克隆字符串),所以你去吧。

关于c++ - std::stack 和 std::queue 缓存友好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34211610/

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