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也会返回一个您可以使用的迭代器