C++中的string類提供了resize()方法來改變字符串的大小。當調用resize()方法改變字符串的大小后,原來的迭代器可能會失效。因此,在調用resize()方法之后,需要重新獲取新的迭代器來訪問字符串中的元素。
例如:
#include <iostream>
#include <string>
int main() {
std::string str = "hello";
std::string::iterator it = str.begin();
str.resize(3);
// 迭代器失效了,無法繼續使用
// std::cout << *it << std::endl;
// 重新獲取新的迭代器
it = str.begin();
std::cout << *it << std::endl;
return 0;
}
在上面的例子中,調用resize()方法改變了字符串的大小,導致迭代器失效。因此,需要重新獲取新的迭代器來訪問字符串中的元素。