c++ 中vector中push_back與insert在插入一個元素時區別
阿新 • • 發佈:2020-12-27
兩者都表示新增,其中push_back()表示在vector的末尾元素新增一個元素,而insert可以在某個位置新增一個元素。
push_back() 存在的意義
std::vector nVec;
for(int i = 0; i < 5; ++i)
nVec[i] = i; // error
這樣編寫程式碼是錯誤的,nVec是空的,不包含任何物件。當然也就不可能通過下標來新增或訪問任何元素。若要新增請使用push_back。
當然,針對於輸出,可使用迭代器iterator來表示,比如上面的例子可寫成:
vector<int> v_example = { 4,5,6 };
v_example.push_back(2);
for (int i = 0; i < v.size(); i++)
{
cout << v[i] << ",";
}
qDebug<<endl;
//在位置2處新增10,原來位置上的值往後順延
v_example.insert(v.begin() + 2, 10);
for (int j = 0; j < v.size(); j++)
{
qDebug << v[j] << "," ;
}
結果如下: