从头到尾列出擦除范围

List erase range from end to end

本文关键字:范围 擦除 从头到尾      更新时间:2023-10-16

调用 2 个参数版本std::list::erase将列表的末尾作为两个参数传递是否安全?

std::list<int> values;
values.push_back(4);
values.erase(values.end(), values.end());

当然,我期望从values.erase(values.end(), values.end());那里得到的行为是什么都不做,但是我不确定C++11规范是否确保了这一点。

将空范围传递给 std::list::erase 是安全的。

删除区域中的元素 [第一个;最后一个)。

迭代器first不需要是可取消引用的,如果first==last:擦除空范围是无操作的。