바로 질문으로 들어가자.
1. 판단자(predicate)를 정의하고, STL에서 사용 되는 방법을 예를 들어 설명하라.
판단자(predicate)는 bool 형을 반환하는 함수 오브젝트를 말한다.
예제 코드
2. '상태' 판단자는 언제 유용하며, 어떻게 사용 되는가?
예를 들어, 특정 값을 가지고 있는 것만 지운다고 했을 경우, 아래와 같은 상태를 가진 판단자(statedful predicates)를 이용하여 "특정" 값을 조정하여, 지울 수 있게 할 수 있다.
3. 상태 판단자가 제대로 작동하려면 알고리즘의 측면에서 무엇이 필요한가?
상태 판단자는 함수 오브젝트들 중에 하나인데, 이런 함수 오브텍트들은 알고리즘에서 사용 되어 질 때, 값에 의한 복사로, 알고리즘 내부에서 이동되어 진다. 그래서 상태 판단자의 임시객체를 넣거나, 벹어내어진 상태 판단자가 초기화 되어진 상태 판단자 일 수 있다는 경각심이 필요하다.
만약 상태 판단자가 복사되어도 상관없이 하려면, 메모리 참조형태로 내부 값이 변경되게 하는 방법이 제일 옮을 수 있다.
총평
스마트 포인터를 구현 하라 하지만, babo_ptr을 만들어 본 나로써는 shared_ptr을 사용 하는 것이 좋을 듯 싶어 패스 한다.
'책 정리 > More Exceptional C++' 카테고리의 다른 글
항목 8 : set과 map 사용하기 ( 난이도 : 5 ) (0) | 2008.12.22 |
---|---|
항목 7 : vector와 deque 사용하기 ( 난이도 : 3 ) (0) | 2008.12.22 |
항목 6 : 컨테이너, 포인터 그리고 컨테이너가 아닌 컨테이너 (0) | 2008.12.22 |
항목 5 : typename ( 난이도 : 7 ) (0) | 2008.12.22 |
항목 4 : 확장 가능한 템플릿 : 상속을 통해서 아니면 특성(traits) 클래스를 통해서? ( 난이도 : 7 ) (0) | 2008.12.22 |
항목 2 : 판단자(predicate) Part 1 : remove()가 삭제 하는 것은? (난이도 : 4 ) (0) | 2008.12.19 |
항목 1 : 스트림 전환(Switching Streams) ( 난이도 : 2 ) (0) | 2008.12.19 |
항목 16 : 최적화 미루기 Part 4 : 멀티쓰레드 환경 (0) | 2008.12.18 |
항목 15 : 최적화 미루기 Part 3 : 반복자와 참조 ( 난이도 : 6 ) (0) | 2008.12.18 |
항목 14 : 최적화 미루기 Part 2 : 미루기에 대한 소개 ( 난이도 : 3 ) (0) | 2008.12.18 |
최근댓글