항목 22 : set과 multiset에 저장된 데이터 요소에 대해 키(key)를 바꾸는 일은 피하자.
항목 21과 같은 맹락으로 이어진다. 이것 또한 연관 컨테이너(Associative Containers)의 연관을 무너뜨리게 한다. map 과 multimap 도 키를 바꿀수는 있을 꺼 같지만, 여기선 const 이기 때문에 변경을 못하도록 되어 있다.(캐스팅 하면 가능하지만...) 그래서 이 두개의 컨테이너는 삭제 후 삽입 방법으로 변경해야 한다. 하지만 set 이나 multiset 은 값 자체가 키(Key)이기 때문에, 바꾸는 일은 피해야 한다는 것이다. 이것도 키를 바꾸기 위해선 "삭제 후 삽입"을 해야만 한다. 곰곰히 생각하면 난 바꾸지 않을테니까, const 로 Key를 설정할꺼야. 라고 해서 std::set 하게 해도 크게 두가지 이유 때문에 무의미하게 된다. 첫째, 사용자 정의 객체를 담을 ..
책 정리/Effective STL
2008. 7. 19. 17:57
최근댓글