Map Iterator로 지우기(erase)

STL에는 map이 있다. map을 사용하다보면 iterator로 루프를 돌면서 해당 map을 삭제시켜야할 때가 분명히 있다.

이에 대한 예시는 다음과 같다.


설명은 간단하다. iterator를 처음부터 끝까지 while로 돌게 되는데 보통 조건이 while 안에 들어가게 된다.

위의 예시에서는 map의 Value가 test라면 해당 맵을 지우는 것이다.

여기서 주의해야할 것은 it++이다. 해당 iterator에 대해 지울 때, 지우기만 하면 iterator는 멈추게 되기 때문에 무한 루프를 돌거나 세그폴트가 날 수도 있다. 따라서 반드시 ++를 붙여줘야한다.

결과는 size[0]이 될 것이다.

'나도 개발자 > Code 배우는 교실' 카테고리의 다른 글

Vector Iterator로 지우기(erase)  (0) 2014.03.26