如题。
尽量先用一个变量将size()存好。
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <ctime>
using namespace std;
const int L = 100000000;
double start;
vector<int> a;
int main()
{
for (int i = 1; i <= L; i++)
{
a.push_back(i);
}
start = clock();
for (int i = 0; i < L; i++)
{
a[i]++;
}
printf("%f\n\n", clock() - start);
start = clock();
for (int i = 0; i < a.size(); i++)
{
a[i]++;
}
printf("%f", clock() - start);
}
测试结果分别为:
298
446
303
450
344
670