후위증가 연산
글쓴이: pok / 작성시간: 토, 2006/11/25 - 4:52오후
Effective STL 중, map 에서 지우기를 보면 이런구문이있습니다.
AssocContainer<int> c; ... //함수자 bool badValue(int x); for(AssocContainer<int>::iterator it = c.begin(); it != c.end(); /* 없음 */) { if(badValue(*it)) c.erase(it++); else ++it; }
글을 읽어 보면 erase에는 증가되기 전의 it 를 넘기고, erase가 수행되기 전에 it를 증가 시킨다고 되어 있습니다.
왜 그런가요? C에서 시퀀스 포인트 개념이 C++에서도 완전히 동일하게 적용되는 것인가요?
Forums:
예
그렇습니다.
전위/후위 증감
전위/후위 증감 연산자의 의미 차이와 sequence point 는
아무 관계 없습니다.
--
Jun, Woong (woong at icu.ac.kr)
Web: http://www.woong.org (서버 공사중)
--
Jun, Woong (woong at gmail.com)
http://www.woong.org
아마 함수 호출
아마 함수 호출 직전의 sequence point를 말씀하신 듯 합니다.
그런 의미라면 C나 C++이나 같습니다.
댓글 달기