std::vector<Account> userList;
for(int i = 0; i < 100; i++)
userList.push_back(...)
和
std::vector<Account> userList(100);
for(int i = 0; i < 100; i++)
userList[i] = ....;
这两个有什么区别,性能如何,为什么
std::vector<Account> userList;
std::vector<Account> userList(100);
构造函数使用的重载方式不一样。前面的一开始,size=0,随着push_backc增长长度,动态分配空间,每次进来一个长度+1
后面的一开始就开辟空间,size=100,并且每个全部初始化为0。
至于速度,100万数据结果,说明赋值的方法快一点
push_back:631ms
assignment:137ms
请按任意键继续. . .