- 此问题在此处已有答案**:
What is iterator invalidation?(3个答案)
Iterator invalidation rules for C++ containers(6个答案)
2天前关闭。
这个代码有什么问题?
string s; cin>>s;
s[0]=s[0]-32;
replace(s.begin(),s.end(),'s','$');
replace(s.begin(),s.end(),'i','!');
replace(s.begin(),s.end(),'o','(');
for (auto i = s.begin(); i != s.end(); ++i)
{
if (*i == '(')
{
s.insert(i + 1, ')');
}
}
s+=".";
cout<<s<<endl;
cd "/home/parvez/Documents/cds/" && g++ Better_Passwords.cpp -o Better_Passwords && "/home/parvez/Do[parvez@HPLP cds]$ cd "/home/parvez/Documents/cds/" && g++ Better_Passwords.cpp -o Better_Passwords && "/home/parvez/Documents/cds/"Better_Passwords
unsophisticated
Segmentation fault (core dumped)
1条答案
按热度按时间unhi4e5o1#
您不能以这种方式更改for循环中的字符串
因为在插入一个字符之后,迭代器
i
可能无效。