我正在考虑使用boost circular_buffer。从这里:
为了实现最大效率,circal_buffer 将其元素存储在连续的内存区域中,然后启用:
使用固定内存,没有隐式或意外的内存分配。
但我应该使用 circular_buffer 调用cb.push_back(myObj)
。要进行此调用,我必须实例化此对象。当我调用push_back
我的新对象时,请从 circular_buffer 中替换旧的、过时的对象。
因此,在使用 circular_buffer 时,我会大量分配内存,因为我必须为每个push_back
.
但我真的想避免新对象的实例化。相反,我想从circular_buffer
. 如果有可能?你能推荐一个允许重用其中的对象以避免昂贵的运行时内存分配的循环缓冲区吗?