【发布时间】:2019-12-18 18:12:32
【问题描述】:
我想存储一些值,但一次只能存储三个。如果要存储第四个,则将删除结构中最旧的值以腾出空间。
例如:
const unsigned int BUFFER = 3; // maximum size
SomeType s(BUFFER);
s.add(1); // s is now 1 --> NULL --> NULL
s.add(3); // s is now 3 --> 1 --> NULL
s.add(6); // s is now 6 --> 3 --> 1
s.add(4); // s is now 4 --> 6 --> 3 (1 was removed)
C++03 中是否有内置数据结构,还是需要我自己制作?
【问题讨论】:
-
boost::circular_buffer?标准库中没有类似的东西。
-
一个循环缓冲区?但它不在标准库中。
-
你想要一个循环队列,我相信。 Afaik,这不是 STL 的一部分,但实现起来相对简单。
标签: c++ arrays data-structures queue c++03