Có được phép xóa một phần tử được chỉ bởi trình vòng lặp và chuyển tiếp cùng một trình lặp trong một dòng để đi đến phần tử tiếp theo không?C++ đặt phép loại bỏ vòng lặp
set<int>::iterator it = S.begin();
while (it != S.end()) {
if (shouldBeRemoved(*it)) {
S.erase(it++); // is this line valid?
} else {
++it;
}
}