std ::第一个元素的向量push_back时间明显大于后续元素

时间:2015-08-12 05:06:48

标签: c++ vector

我创建了一个整数向量。我发现第一次push_back所花费的时间明显大于后续的push_back。为什么会如此。为了避免重新分配,我保留了向量的大小。

std::vector<int> myList;
myList.reserve(10);

for(int i = 0; i < 10; ++i)
{
  myList.push_back(rand() % 100);
}

push_back(以纳秒为单位)获得的时序如下。我正在使用-O3标志编译程序。

1536
166
124
127
119
125
127
125
126
127

有人可以解释10次的巨大差异。

0 个答案:

没有答案