1. 程式人生 > 其它 >c++ 中vector中push_back與insert在插入一個元素時區別

c++ 中vector中push_back與insert在插入一個元素時區別

技術標籤:QTC++

兩者都表示新增,其中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] << ","
; }

結果如下:
在這裡插入圖片描述