如果我的std::vector
有100個元素,並且我只想保留前10個元素並清除其餘元素,是否有一種方便的方法來執行此操作?從std :: vector擦除範圍?
8
A
回答
20
vec.resize(10); // drops the rest (capacity remains the same)
4
theVector.erase(theVector.begin() + 10, theVector.begin() + 100);
23
是的,有一個erase函數接受參數的第一個和最後。
v.erase(v.begin() + 10, v.end());
5
vec.erase(vec.begin() + 10, vec.begin() + 100);
相關問題
- 1. C++擦除範圍
- 2. std :: vector ::使用相同參數擦除
- 3. 使用std :: vector ::使用const_iterators擦除
- 4. C++ std :: vector孤立範圍錯誤
- 5. 從std :: vector連續擦除的安全方法?
- 6. std :: remove不會從std :: vector中刪除
- 7. 刪除/從STD擦除::列表
- 8. 擦除std :: vector的元素是否保留了排序?
- 9. 如何安全地擦除std :: vector中的元素
- 10. 使用lambda函數擦除std :: vector中相同值的副本
- 11. std :: vector擦除 - 是否自動取消分配?
- 12. 爲什麼begin()在std :: vector中需要擦除?
- 13. 迭代器範圍擦除元素
- 14. 從std :: array讀取範圍
- 15. vector ::擦除導致奇怪的行爲
- 16. 從std :: list中隨機擦除?
- 17. 地圖/套擦除迭代器超出範圍
- 18. 從std :: vector中刪除一個項目
- 19. 從std :: vector中清除多個對象?
- 20. 從位內'std :: vector'
- 21. std :: list ::擦除不工作
- 22. C++ std :: set ::使用std :: remove_if擦除::
- 23. 調試斷言失敗:下標超出範圍與std :: vector
- 24. 範圍-for循環和std :: vector的<bool>
- 25. 在std :: vector中插入迭代器範圍
- 26. 如何替換std的某些範圍的數據:: vector
- 27. 當超出範圍時停止調用標準的std :: vector
- 28. 從C++ 11範圍'for'循環中移除vector中的項目?
- 29. 不能刪除std :: vector&std :: array?
- 30. 使用std :: unary_function清除std :: vector指針
感謝名單爲這一個! – 2012-03-29 14:51:27