问问题
1855 次
3 回答
10
我认为v.erase(v.end(), v.end())
会被很好地定义并且不会删除任何内容。
于 2009-11-05T04:34:29.000 回答
10
C++ 标准说该erase(q1,q2)
成员“擦除范围 [q1,q2) 中的元素”(参见第 23.1.1 节)。由于范围不包括最后一个元素,
v.erase(v.end(), v.end());
是有效的并且不会删除任何内容。
于 2009-11-05T04:57:02.323 回答
2
C++ 参考声明:
如果满足以下条件,则迭代器
first
不需要可取消引用first==last
:擦除空范围是无操作的。
于 2016-07-13T16:52:18.277 回答