标准矢量和增强矢量的push_back:哪个更快?

时间:2015-04-15 19:09:04

标签: c++ boost stdvector

boost :: container :: vector的性能与std :: vector的性能比较,以及哪些因素对它有显着影响?

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

1 个答案:

答案 0 :(得分:1)

向量是一个简单的概念。有许多std实现,一个boost实现,一个MFC实现,以及十万个其他实现。它们应该在抽象中非常接近相同的速度。

在所有这些内容中,将push_backoperator[]进行比较是没有意义的,因为它们会做出100%不同的事情。一个检查容量,可能重新分配/移动,在背面创建一个新元素。另一个只是访问已经存在的元素。但是,由于operator[]实际上并没有任何事情,因此它总是会更快。