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; }