소유권, 파이프 라인과 같은 상호 작용, statemachine behavior 등을 비롯한 여러 가지 객체 동작이 반복적으로 필요합니다.이 정책은 "정책"이라는 새로운 디자인 패턴을 시험해 볼 수있는 좋은 기회라고 생각했습니다. "C++에 관한 꽤 유명한 책에서.정책/템플릿을 사용하는 일반 객체
는 지금은 소유권과 상호 작용을 다루는이 개 정책을해야하는 클래스
template <
class T,
template <typename T> class pOwnership
template <typename T> class pInteraction
>
class object : public pOwnership<T>, public pInteraction<T>
{...}
을 만드는 어려움이있다. 예를 들어 은 pOwnership는 방법 내가 소유권을 필요로하지 않는 경우 예를 들어, 내부 목록
std::vector<T*>.
(다른 소유권 정책을 사용하여 객체를 추가
void add(T &obj)
, 무효 추가를 가지고 (T &는 OBJ)도 이제 T 형을 잘못된 응용 프로그램 코드)
를 사용하는 경우 컴파일 시간 오류의 결과로 선언되지 않은 수는해야 물론 객체의
typedef template<object, pOwnershipRecursive, pInteractionPipeline> myObject;
컴파일러 오류의 결과로, 템플릿 형 자체가 다음 객체 클래스를 의미 최종 정책 호스트 클래스, 수.
myObject와 같은 클래스를 어떻게 구현할 수 있습니까?
"C에 대한 아주 유명한 책 ++"도움이되었다 –