: 컨테이너의 값을 지우고, 뒤에 있는 컨테이너들을 제거한곳으로
이동해서 채워준다.
- 몇번째 인덱스에 있는 값을 제거하기
: erase(v.begin + indexNum)
https://velog.io/@kwt0124/vector#12-push_back-vs-emplace_back
erase 사용법 참고
원소를 실제로 제거하지 않고, 다음 원소로 덮어쓰는 방식이다.
-> 그림을 보면 알수있겠지만, 컨테이너의 멤버 함수가 아니라는 것을 확인할 수 있다.
https://velog.io/@kwt0124/vector#12-push_back-vs-emplace_back
remove 사용법 참고
erase의 경우에는 컨테이너의 삭제가 이루어지고, 다음 원소들이 지워진 컨테이너들로 이동해서 채워지는 방식으로, 사이즈가 줄어들지만,
remove의 경우에는 컨테이너의 삭제가 이루어지지 않고,
다음 원소들이 지워지는 컨테이너들로 move와 copy가 이루어 진다.
따라서 size의 변동은 없다.
erase의 특징
erase의 문제점으로는 이터레이터로 제거를 하면 컨테이너가 지워짐과 동시에
이터레이터도 손실되며, 다음 이터레이터값을 반환하게 된다.
이 점에 유의해 사용해야 한다.
erase와 remove의 조합을 이요하면
: 시간복잡도는 O(n)이고, size도 줄일 수 있어서 좋은 방법이다.