바로 질문으로 들어가자.

1. 판단자(predicate)를 정의하고, STL에서 사용 되는 방법을 예를 들어 설명하라.

판단자(predicate)는 bool 형을 반환하는 함수 오브젝트를 말한다.

예제 코드


2. '상태' 판단자는 언제 유용하며, 어떻게 사용 되는가?

예를 들어, 특정 값을 가지고 있는 것만 지운다고 했을 경우, 아래와 같은 상태를 가진 판단자(statedful predicates)를 이용하여 "특정" 값을 조정하여, 지울 수 있게 할 수 있다.


3. 상태 판단자가 제대로 작동하려면 알고리즘의 측면에서 무엇이 필요한가?

상태 판단자는 함수 오브젝트들 중에 하나인데, 이런 함수 오브텍트들은 알고리즘에서 사용 되어 질 때, 값에 의한 복사로, 알고리즘 내부에서 이동되어 진다. 그래서 상태 판단자의 임시객체를 넣거나, 벹어내어진 상태 판단자가 초기화 되어진 상태 판단자 일 수 있다는 경각심이 필요하다.

만약 상태 판단자가 복사되어도 상관없이 하려면, 메모리 참조형태로 내부 값이 변경되게 하는 방법이 제일 옮을 수 있다.


총평

스마트 포인터를 구현 하라 하지만, babo_ptr을 만들어 본 나로써는 shared_ptr을 사용 하는 것이 좋을 듯 싶어 패스 한다.

신고
posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요