vector赋值的方法是什么?极悦小编来告诉大家。
vector间赋值不能使用memcpy_s,会导致原来变量的内存出错(猜的)。
可使用循环赋值获assign方法,assign方法效率较高。
static vector<string> vec_test(1000000, "无力的反垄断的积分辣豆腐");
int main()
{
vector<string> v1;
vector<string> v2;
vector<string> v3;
int t1,t2;
t1 = GetTickCount();
for (int i = 0; i < 1000000; ++i)
{
v1.push_back(vec_test[i]);
}
t2 = GetTickCount();
cout << t2 - t1 << endl;
t1 = GetTickCount();
vector<string>::iterator itr;
for (itr = vec_test.begin(); itr != vec_test.end(); ++itr)
{
v2.push_back(*itr);
}
t2 = GetTickCount();
cout << t2 - t1 << endl;
t1 = GetTickCount();
v3.assign(vec_test.begin(), vec_test.end());
t2 = GetTickCount();
cout << t2 - t1 << endl;
}
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习