哪个STL容器最适合我的需求?我基本上有一个10个元素的宽容器,在这个容器中我不断使用push_back新元素pop_front(大约一百万次).
我目前正在使用a std::deque来执行任务,但是想知道是否std::list会更高效,因为我不需要重新分配自己(或者我可能会误认为std::deque是std::vector?).或者是否有更高效的容器满足我的需求?
PS我不需要随机访问
我正在为这种情况寻找合适的数据结构.我有提升可用.
代码最初是在C#中,我在那里使用了一个队列,但我不认为这是一个合适的选择,据我所知,C#的队列没有C++等价物.我正在查看以下属性的频率/重要性:
元素的数量在创建时将是已知的,并且将是50到200个元素.结构永远不会超过这个,但可能偶尔保持较少
我正在考虑使用std :: list,但是需要清除然后偶尔重新填充,这似乎不是一个好的选择.当我创建一个固定大小的列表,然后清除它,它失去了前缀大小不是吗?是否有一些方法可以始终保持列表大小,以便它不必释放/分配内存?
我知道boost有一个队列数据结构,但它不可迭代,我不确定它是否会遇到同样的问题 std::list
关于如何适应std::list我的问题或更合适的数据结构的一些建议会有所帮助.