void main() {
map<int, int> m;
m[1] = 1;
m[2] = 1;
for (auto it : m) {
cout<<"current: "<<it.first<<endl;
m.erase(1);
m.erase(2);
}
}
Угадайте, сколько раз выполняется этот цикл?Это 2!
Однако, если я уберу «m.erase (1)», цикл будет выполнен один раз.
Я не понимаю, почему цикл выполняется дважды?