我正在尝试为新项目选择合适的数据类型以满足以下要求:
- 高度!时间紧迫(用于输入数据)
- 没有随机插入或对容器中的数据进行任何操作(只读并按顺序插入)
- 大小将在编译时固定(因此不需要动态分配)
- 数据将在某个定义的时间段(通过线程或服务)后按顺序删除,并且空白空间必须再次可用于新的数据。
前任。假设将 1,2,3,4,5,6 插入容器中。一段时间后,将删除 6 并插入 7,因此列表将是 7、1、2、3、4、5,然后 5 将被删除等......但大小必须相同。
我想知道从性能和内存的角度来看,哪种数据结构最适合我的情况。
谢谢...
编辑:顺便说一下,它与基本 FIFO 逻辑有点不同,因为假设我们创建了 10 个元素(大小)数据容器,但仅插入了 3 个元素,即使它还没有到达容器的末尾(大小限制),如果指定的时间过去了,它将被删除。
顺便说一句,我正在考虑使用 boost:array 但对 std:vector 和 std:deque 有点困惑。在这种情况下有什么特别的优势吗?