NoC*_*nde 3 c++ iterator vector
我们为什么要写v.erase(v.begin(), v.begin()+3)?
为什么不定义为erase(int, int)这样你可以写v.erase(0,2),实现负责begin()s?
界面container.erase(iterator, iterator)更通用,适用于没有索引的容器,例如std::list.如果您编写模板并且不确切地知道代码要处理哪个容器,这是一个优势.
原始设计旨在尽可能通用,迭代器比索引更通用.设计人员可能会添加额外的基于索引的重载vector,但决定不这样做.
| 归档时间: |
|
| 查看次数: |
268 次 |
| 最近记录: |