对比代码:
#include <iostream>
#include <vector>
#include <array>
#include <ctime>
const int count = 6000;
using std::vector;
using std::array;
int _tmain(int argc, _TCHAR* argv[])
{
vector<int> v(count);
array<int, count> a;
time_t start,stop;
start = clock();
for (int j = 0; j < count; ++j)
{
for (int i = 0; i < count; ++i)
{
v[i] = i;
//v.push_back(i);
}
}
stop = clock();
printf("Vector Use Time:%ld\n",(stop-start));
start = clock();
for (int j = 0; j < count; ++j)
{
for (int i = 0; i < count; ++i)
{
a[i] = i;
//a.at(i) = i;
}
}
stop = clock();
printf("Array Use Time:%ld\n",(stop-start));
std::system("pause");
return 0;
}
效果:
a[i] = i;与a.at(i) = i;效率一样。
v[i] = i; 比v.push_back(i);的时间少;