crtp

    3

    1답변

    나는 자바 제네릭 (JDK 1.4 ... 1.3 레거시 코드에 오랜 시간 동안 완료되지 않고 근무하는 데에도) 나는 확실히이 이해하지 못하는 최신 상태로 자신을 데리고 오전 : public class Foo<T extends Bar<? extends Foo<T>>> { ... 경우 Foo 및 Bar은 두 가지 일반 클래스입니다. 내가 이해하지 못하기 때

    6

    1답변

    내가 해결하기 위해 노력하고이 퍼즐을 가지고 있고, 기본적으로 다음과 같은 예로 요약된다 : template <typename CT> struct A { typedef typename CT::VALUE_T FOO; // FOO is dependent on CT }; template <typename CT> struct B {

    0

    3답변

    나는 다소 단순하다. 상상해 보니 CRTP에 대한 질문이지만 대답을 찾을 수없는 것 같다. 아마, 그것은 매우 간단하기 때문에, 아무도 그것을 요구할 생각을하지 않았습니다. 나는이 개념을 처음 사용합니다. 너무 웃지 마세요.). 내가 잘못된 typedef typename _THelpee::T Th;을 언급하는 경우 template< typename tT >

    1

    5답변

    class Address을 구현하고자 할 때, 생성시 해당 필드 addr을 고유 한 값으로 초기화합니다. 이 값은 Address 인스턴스를 만들 때마다 1 씩 증가해야합니다. 예를 들어 보겠습니다. 다음 코드가 실행 된 후 : y.addr 2. 가를 달성하기 위해해야하는 동안 Address x; Address y; x.addr 1이어야한다, 나는 Cu

    2

    1답변

    나는 Curiously Recurring Templates가 아주 능숙하게 도울 수 있다는 문제가 있지만, 간단한 테스트를 통과하지 못한다. template<typename T, int _size, typename OutterT> class Foo { }; template<typename T> class Bar : public Foo<T, 2,

    1

    3답변

    CTRP를 사용하여 상속 관계에있는 클래스에 대해 동일한 이름을 가진 유형을 정의하는 방법이 있습니까? 다음 코드를 시도했지만 error: member 'ptr_t' found in multiple base classes of different types을 clang++에서 가져 왔습니다. #include <iostream> #include <tr1/me

    18

    1답변

    CRTP pattern에서 파생 클래스의 구현 기능을 보호 된 상태로 유지하려면 문제가 발생합니다. 우리는 기본 클래스를 파생 클래스의 친구로 선언하거나 something like this을 사용해야합니다 (링크 된 기사에서 메서드를 시도하지 않았습니다). 파생 클래스에서 구현 함수를 보호 된 상태로 유지할 수있는 다른 (간단한) 방법이 있습니까? 편집 :

    2

    2답변

    C++에서 순수 가상 클래스는 종종 런타임 다형성에 사용됩니다. 다음과 같은 기능을 사용할 수 있습니다 class CFancyObject : public IInterfaceA { ... : 같은 class IInterfaceA { virtual void DoFoo() = 0; }; 그리고 파생 클래스 : 그래서 당신은 void Foo

    1

    2답변

    내 C# 프로젝트에서 curiously recurring template pattern (CRTP)을 사용하고 있지만 몇 가지 문제가 있습니다. 위 링크에서 코드를 잘라 냈습니다. public abstract class Base<T> where T : Base<T>{ public T FluentMethod() { return (T)(th

    1

    2답변

    다음은이 질문을 해결하기 위해 사용했던 CRTP based template code입니다 : Requiring overridden virtual functions to call base implementations. 여기에 코드를 게시 하겠지만, 코드 페이지는 길고 읽기 쉽습니다 (필요한 경우 여기에 게시 할 예정입니다). 그것은 추악하고 다소 인공적입니다