C++ 标准向量';s和升压矢量';s推回:哪个更快?

C++ 标准向量';s和升压矢量';s推回:哪个更快?,c++,boost,stdvector,C++,Boost,Stdvector,boost::container::vector的性能与std::vector的性能相比如何?哪些因素对其有重大影响 特别是,我听说std::vector push_back比vector[]慢。这在boost中如何比较?矢量是一个简单的概念。有许多std实现、boost实现、MFC实现和十万种其他实现。它们在抽象上应该都非常接近相同的速度 在所有这些方法中,比较push_back和operator[]几乎没有意义,因为它们做的事情完全不同。检查容量,可能重新分配/移动,在背面创建新元素。另一个

boost::container::vector的性能与std::vector的性能相比如何?哪些因素对其有重大影响


特别是,我听说std::vector push_back比vector[]慢。这在boost中如何比较?

矢量是一个简单的概念。有许多std实现、boost实现、MFC实现和十万种其他实现。它们在抽象上应该都非常接近相同的速度


在所有这些方法中,比较
push_back
operator[]
几乎没有意义,因为它们做的事情完全不同。检查容量,可能重新分配/移动,在背面创建新元素。另一个只访问已经存在的元素。然而,由于
操作符[]
实际上什么都不做,它总是会更快。

您预期使用的基准测试结果是什么?我听说std::vector push_back比vector[]慢这两件事根本不是一回事,比较它们的速度是没有意义的。std::vector在调试构建中可能会慢一些(特别是在使用microsoft(dinkumware))时)。在发布版本中,应该没有区别。