为什么循环缓冲区在 C++ 中没有标准化?

rel*_*t95 8 c++ circular-buffer

我想知道循环缓冲区(循环队列或双端队列)标准化的历史。

AFAIK,当前的 C++ 标准(C++ 2023)在 STL 中没有提供循环缓冲区。我用 google 搜索了一下,只发现了一个提案,ring_span大约是在 2015 年。Boost 的circular_buffer. 有些提供内部实现,例如cqueue.

如果使用 a 重复推入和弹出操作std::deque,则会重复分配和释放堆块。在 Qt(最大的 C++ 项目之一)中,情况更糟,QQueue不断分配堆块(并且从不释放)。

我不是在征求意见。我想了解历史。我认为标准化循环缓冲区如此困难有充分的理由。