如果我的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. std :: vector ::使用相同参数擦除
- 2. C++ std :: vector孤立范围错误
- 3. 从std :: vector连续擦除的安全方法?
- 4. std :: remove不会从std :: vector中删除
- 5. std :: vector擦除 - 是否自动取消分配?
- 6. 为什么begin()在std :: vector中需要擦除?
- 7. 擦除std :: vector的元素是否保留了排序?
- 8. 从std :: list中随机擦除?
- 9. 地图/套擦除迭代器超出范围
- 10. 从std :: vector中删除一个项目
- 11. 从std :: vector中清除多个对象?
- 12. 当超出范围时停止调用标准的std :: vector
- 13. 调试断言失败:下标超出范围与std :: vector
- 14. 从C++ 11范围'for'循环中移除vector中的项目?
- 15. iterate std :: vector <std :: vector <char>>?
- 16. C++ vector <char>擦除()错误,不会编译
- 17. 继承std :: vector
- 18. 继承std :: vector
- 19. posix_memalign for std :: vector
- 20. 指向std :: vector
- 21. NSMutableArray to std :: vector
- 22. emplace_back on std :: vector
- 23. sizeof()std :: vector(C++)
- 24. std :: uniform_real_distribution包含范围
- 25. std ::向量超出范围
- 26. 帮助我理解的std ::擦除
- 27. STD向量的擦除和的push_back
- 28. 如何使用std :: reverse_iterator擦除*和CONTINUE *?
- 29. 的std ::地图::擦除和迭代器
- 30. std :: list vs std :: vector迭代
感谢名单为这一个! – 2012-03-29 14:51:27