1,221
社区成员
发帖
与我相关
我的任务
分享
#include <vector>
using std::vector;
void foo()
{
vector<char> v;
while(int i=0;i<10000;++i){
v.resize(v.size()+1);//会存在10000次重新分配,再拷贝的动作,很可怕的
v[i]=1;
}
}
#include <vector>
using std::vector;
void foo()
{
int aLargeNum=10000;
vector<char> v;
v.reserve(aLargeNum);//不需要重新分配的....就算不要reserve,也不过分配18次左右,比上面的10000次好多了。。。
while(int i=0;i<10000;++i){
v.push_back(1);
}
}