我正在编写一个具有固定容量的自定义循环缓冲区实现(在运行时通过调用构造函数来修复,没有调整大小的方法)并希望它与 STL 兼容。我的目标是使其成为Random Access Container。此外,我希望它具有Back Insertion Sequence的特定接口,但不是序列(没有在任意位置调整大小和插入/擦除,...)。所以它只是一个扩展的随机访问容器。在阅读了一些关于max_size()和size()的问题后,我仍然有点困惑。
我目前的想法:
size():缓冲区中包含的元素数
max_size():缓冲区的容量(它可以容纳的最大元素数)
这是正确的(符合标准/ STL)?还是我必须像 (std::)array 和 size() == max_size() 一样处理它?