재할당과 뒤쪽 이동을 가장 먼저 의심
push_back이 capacity를 넘거나 중간 insert,
erase가 일어나면 기존 반복자를 다시 얻습니다.
반복자는 컨테이너 내부 위치를 가리키므로 삽입, 삭제, 재할당 뒤에는 기존 위치가 그대로 유효한지 확인해야 합니다.
push_back이 capacity를 넘거나 중간 insert,
erase가 일어나면 기존 반복자를 다시 얻습니다.
노드 기반이라 다른 요소의 반복자는 대체로 유지되지만, 지운 요소를 가리키던 반복자는 즉시 폐기합니다.
삭제한 요소의 반복자는 다시 쓰지 말고, 필요한 위치는
find나 반환 반복자로 갱신합니다.
erase의 반환값, 새 begin(), 새
find()를 사용하면 무효화된 반복자를 실수로 역참조할
가능성이 줄어듭니다.
for (++it)와 erase(it)를 섞으면 이미 사라진
위치를 증가시킬 수 있으므로 반환 반복자로 루프를 이어갑니다.