Declaring Self with decltype
The initial attempt to introduce self using decltype fails because it attempts to access this outside of an instance. 이를 해결하려면 템플릿 내에서 자체 선언을 캡슐화해야합니다. 클래스 셀프베이스이 템플릿은 자체에 액세스 할 수있는 유형의 기본 클래스 역할을합니다. x
with_self_derived (x, ...) : x
templateclass SelfBase : public Ts... { protected: typedef X self; };
클래스를 정의 할 수 있습니다. { void test () { 셀프 푸; // 이제 자체를 사용할 수 있습니다 } }; // 여러 상속 with_self_derived 클래스 (bar, foo, foo2) { / * ... */ };
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3