【发布时间】:2017-04-04 10:23:05
【问题描述】:
为什么一定要写v.erase(v.begin(), v.begin()+3)?
为什么不将其定义为erase(int, int),这样您就可以编写v.erase(0,2) 并且实现会处理begin()s?
【问题讨论】:
-
因为整个 stl 都可以与迭代器一起使用,而且很方便,而且如果您以后想要将向量更改为列表,则无需更改代码,如果您使用迭代器,则 int 没有这样的运气.