[C++ STL] vector(벡터) erase 함수 제대로 사용하기
컴퓨터공학/코딩팁 2011. 5. 15. 12:53
벡터의 요소를 for 문으로 돌면서,
조건을 만족하는경우 요소를 삭제하고
그렇지 않은경우 다음요소로 넘어가야하는 경우는 자주발생한다.
이럴 때, 단순히 erase(iter) 로 요소를 삭제하면 그 다음요소로의 반복자(iterator)가
무효화되어 버리므로, 오류를 발생시킨다.
다행히 erase 함수는 지울요소의 바로다음 반복자를 리턴하므로
이 반복자를 받아서 사용하자.
주의할점은, for 문 자체 반복증감요소는 제거하여야 한다는것이다.
'컴퓨터공학 > 코딩팁' 카테고리의 다른 글
[MFC] 도큐먼트의 OnNewDocument 함수내에서 윈도우핸들 얻는 방법 (0) | 2011.10.15 |
---|---|
boost 라이브러리의 랜덤함수이용 (0) | 2011.05.18 |
double형의 최대값 최소값 (0) | 2011.05.14 |
더 정밀한 랜덤값을 얻기위한 팁 (0) | 2011.05.14 |
램덤값 관련 함수 라이브러리 (0) | 2011.05.11 |