gpt4 book ai didi

c++ - 在容器的两端插入或删除后,std::deque 的迭代器是否会失效?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:21:22 24 4
gpt4 key购买 nike

<分区>

我想实现一个以不规则时间间隔添加的样本移动窗口,我想知道我应该使用 std::forward_list 还是 std: : 双端队列。随着时间的流逝,新元素将添加到容器的末尾,而已经过期的元素将从容器的开头弹出。现在,问题是这个容器将由多个对象共享,我需要确保迭代器在末尾插入或开始删除后不会失效。

所以我的问题是,指向元素的 std::deque 的迭代器是否在末尾插入或开头删除后失效?请注意,我正在谈论的迭代器指向容器中的元素,这些元素不是容器的开头或结尾。

我的直觉告诉我,我需要用 std::forward_list 来实现它。如果是这样,是否有人知道链表是​​否能够重用已销毁的节点,或者它是否会在每次插入新元素时分配内存?

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