해당 이름을 매크로에 전달하지 않고 사용되는 클래스 유형을 사용하는 매크로를 갖고 싶습니다. 이렇게하려면 typedef decltype(*this) my_type;
을 시도했지만 this
은 비 정적 멤버 함수에서만 사용할 수 있습니다. 어떤 아이디어?포함하는 클래스 유형 가져 오기
편집 (코멘트 복사) : 나는 기본 클래스를 만들어 원활 CRTP를 사용하여 클래스의 데이터의 트리플 버퍼링을 구현하는 매크로를 설정 한
. 3 중 버퍼링 클래스가 다른 트리플 버퍼링 클래스를 상속 할 때 복잡성이 발생합니다. 사실상 두 개의베이스가 있습니다. CRTP 기본 매크로와 명시 적 기본이 숨겨져 있습니다. 명시 적 기본은 CRTP 기본의 다른 인스턴스화를 상속하기 때문에 파생 클래스의 멤버 함수가 두 기본간에 충돌합니다. 파생 된 클래스 내의 함수를 다시 구현하면이 충돌을 자동으로 해결하는 매크로를 작성하고 있습니다. 이 재 구현에서는 CRTP 클래스의 올바른 인스턴스화에 액세스하기 위해 파생 클래스의 유형이 필요하므로 원래의 질문이됩니다.
잠깐, 수업 내용을 쓰고 있다고 나에게 이야기하고 있긴하지만, 어느 쪽인지는 모르겠다. –
이 특정 접근법으로 해결하려는 문제점은 무엇입니까? – phant0m
@BartekBanachewicz 예, 간접적으로 매크로를 통해. – Dylan