C++ std::向量布设与std::deque推回?

C++ std::向量布设与std::deque推回?,c++,c++11,vector,stack,queue,C++,C++11,Vector,Stack,Queue,我有一套物品,我在容器的末端向后推,然后弹回来。为此,, 我没有使用std::stack,因为std::stack已经在内部使用std::deque。所以我使用std::vector,而不是push_back,我使用emplace_back,因为我有多个参数 我想知道是否值得切换到std::deque以提高性能?它是否会提高性能将在很大程度上取决于您的使用模式:推送量、弹出频率、向量重新分配期间元素复制(或移动)的成本等等。如果不看具体情况,就无法确定地说什么。尝试一下,分析一下,看看哪一个效果

我有一套物品,我在容器的末端向后推,然后弹回来。为此,, 我没有使用std::stack,因为std::stack已经在内部使用std::deque。所以我使用std::vector,而不是push_back,我使用emplace_back,因为我有多个参数


我想知道是否值得切换到std::deque以提高性能?

它是否会提高性能将在很大程度上取决于您的使用模式:推送量、弹出频率、向量重新分配期间元素复制(或移动)的成本等等。如果不看具体情况,就无法确定地说什么。尝试一下,分析一下,看看哪一个效果更好


顺便说一句,您可以指定将在引擎盖下使用哪种容器类型
std::stack
。您还需要尝试
std::list

这真的是一个瓶颈吗?我会选择一个最清楚地表明意图的。另外,向量是缓存友好型的,这使它具有标准容器相当高的性能。