gpt4 book ai didi

c++ - 如何有效地将一系列值插入到 std::deque 中?

转载 作者:行者123 更新时间:2023-11-30 01:50:13 26 4
gpt4 key购买 nike

我有一些 C++03 代码可以将一系列值插入 std::deque:

void example(std::deque<int> &_recentSent,
const int beginOffset,
const int lastOffset) {
for (int offset = beginOffset; offset <= lastOffset; ++offset) {
_recentSent.push_back(offset);
}
}

如果这是一个 std::vector,我会使用 reserve() 来确保容器足够大,以便在进入循环之前插入所有条目:

std::vector<int> _recentSent;

_recentSent.reserve(_recentSent.size() + (lastOffset + 1 - beginOffset));

但是因为没有一个,我可以做些什么来有效地将一系列项目插入 std::deque 以便在必要时只调整一次大小?

最佳答案

与 vector 不同,双端队列的存储永远不会在添加新元素时重新分配。这意味着永远不必移动现有元素。因此,提前预订没有任何好处。

关于c++ - 如何有效地将一系列值插入到 std::deque 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27761055/

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