回答
我不知道在x的位置放什麼東西?
一個迭代要插入的位置:
keyRej.insert(keyRej.begin(), inpSeq[0]);
語義,插入的元素作爲第一個參數傳遞迭代器之前去。但是這將導致矢量的所有元素都必須移動到一個位置,並且還可能導致向量的內部數據存儲塊的重新分配。這也意味着所有的迭代器或對矢量元素的引用都是無效的。
有關更多信息,請參閱參考資料std::vector::insert
。
請注意,有些容器(例如std::deque
),其前面的附加元素便宜,並且保持引用(但不是迭代器)有效性。
我不確定.begin()會做什麼,我想要的只是向量中的inpSeq的第一位,然後在一個循環在inpSeq位之後使用push_back放置其他位。 –
@MohamedAhmed你的問題沒有提到任何關於循環或將元素推入向量的背面。我回答了你問的問題。 – juanchopanza
如果此操作必須經常進行,則最好將代碼更改爲在最後添加(如果append/erase總是在矢量的同一側進行)或移動到具有插入兩端時更好的性能特徵(如雙端)。 –
x是一個迭代器,根據您可能讀取的文檔here,新對象插入它之前。
keyRej.insert(keyRej.begin(), inpSeq[0]);
- 1. 插入向量C++
- 2. 在隊列向量中插入C++
- 3. C++不能在向量中插入值
- 4. C++ unordered_map插入到向量
- 5. C++向量和插入
- 6. C++在特定位置的其他向量中插入向量
- 7. 插入向量
- 8. 插入到STL向量中
- 9. Visual C++無法編譯向量插入()
- 10. STL向量,迭代器和插入(C++)
- 11. C++向量插入和讀取
- 12. 插入元素爲2D向量C++
- 13. C++向量和列表插入
- 14. 如何在C++中向量中插入多個值?
- 15. 在向量集中插入錯誤
- 16. 在Java向量中插入空值
- 17. 在C#中向MongoDB異步插入#
- 18. 在C++結構中插入向量時出錯
- 19. 如何在向量中插入* char <string>「[i]」? [C++]
- 20. 在C++中插入數組指針到2維向量
- 21. 如何在C++中使用2d向量插入它?
- 22. 如何將對象插入到具有C++向量的向量中
- 23. 在asp.net中的sql批量插入c#
- 24. 向量push_back僅插入0s
- 25. C++插入到已知位置的向量中
- 26. C#插入一個變量
- 27. mysql C API批量插入
- 28. C++ Mysql的變量插入
- 29. C++入門使用向量
- 30. 向量在C++
如果在開始時插入是常見的,並且您可以控制該類型,則可以考慮用'std :: deque'替換您的'std :: vector'。 – aschepler
相關:http://en.cppreference.com/w/cpp/container/vector/insert –