我需要从 a 中删除一个元素,std::list
然后用std::find
. std::list::erase
用end()
列表调用的行为是什么?我的情况是这样的:
std::list<T> mylist;
T value;
std::list::iterator it = std::find(mylist.begin(), mylist.end(), value);
std::list::iterator next = mylist.erase(it);
如果位置(或范围)有效,则函数从不抛出异常(不抛出保证)。否则,它会导致未定义的行为。
但我不知道end()
那里是否被认为是有效的。