개요 iterator로 set, vector 원소 삭제(earse)하는 방법에 대해 서술한다. for (set::iterator iter = s.begin(); iter != s.end(); iter++) { if (*iter % 2 == 0) { s.erase(iter); iter--; } } 삭제가 잘 될줄 알았지만... 삭제가 잘 되지 않는다. 사유를 보니 erase(iter)를 하게 되면 iter가 무효화되기 때문에 연산이 먹지 않는다고 한다. vector의 iterator여서 iter++을 하면 다음 요소로 넘어가지 않을까? 굳이 무효화해야하나?라고 생각했지만 iterator는 vector 말고도 list 등에서도 작동하므로 iter를 무효화해준다고 한다. https://stackoverflow..