C++ 迭代器是否无效?

C++ 迭代器是否无效?,c++,iterator,C++,Iterator,迭代器是否在以下情况下无效: string b "Some string"; auto beg_ = b.begin(); auto end_ = b.end(); b.erase(beg_); 是,但返回一个有效的迭代器,可用于继续循环: 至于其余成员 函数返回成员的迭代器 类型字符串::迭代器引用 现在占据 第一个字符的位置 删除,或者,如果没有此类字符 存在,返回结束 来源:是,但erase返回一个有效的迭代器,可用于继续循环: 至于其余成员 函数返回成员的迭代器 类型字符串::迭代器引

迭代器是否在以下情况下无效:

string b "Some string";
auto beg_ = b.begin();
auto end_ = b.end();
b.erase(beg_);

是,但返回一个有效的迭代器,可用于继续循环:

至于其余成员 函数返回成员的迭代器 类型字符串::迭代器引用 现在占据 第一个字符的位置 删除,或者,如果没有此类字符 存在,返回结束


来源:

是,但erase返回一个有效的迭代器,可用于继续循环:

至于其余成员 函数返回成员的迭代器 类型字符串::迭代器引用 现在占据 第一个字符的位置 删除,或者,如果没有此类字符 存在,返回结束

来源:

是的,标准说

引用基本字符串序列元素的引用、指针和迭代器可能无效 通过以下方式使用该基本字符串对象:

调用非常量成员函数,运算符[]、at、begin、rbegin、end和rend除外。 是的,标准说

引用基本字符串序列元素的引用、指针和迭代器可能无效 通过以下方式使用该基本字符串对象:

调用非常量成员函数,运算符[]、at、begin、rbegin、end和rend除外。 对

迭代器可能因交换而无效, 保留、插入、擦除和按 等价于 插入和/或擦除,如清除, 调整大小、追加和替换。 然而,除此之外,第一次呼叫 对于任何非常量成员函数, 包括非常量版本的 begin或运算符[],可能会失效 迭代器

迭代器可能因交换而无效, 保留、插入、擦除和按 等价于 插入和/或擦除,如清除, 调整大小、追加和替换。 然而,除此之外,第一次呼叫 对于任何非常量成员函数, 包括非常量版本的 begin或运算符[],可能会失效 迭代器


据我所知,是的。 擦除和插入操作使迭代器无效


但橡皮擦迭代器也会返回一个您可以使用的迭代器。

据我所知,是的。 擦除和插入操作使迭代器无效

但eraseiterator也会返回一个您可以使用的迭代器