crtp

    1

    1답변

    표현식 템플릿과 컴파일러에 의존 문제는 (crtp.cc에 저장) : #include <vector> #include <cassert> #include <iostream> template < class Derived > class AlgebraicVectorExpression { public: typedef std::vector<doubl

    1

    1답변

    경고 : 문제를 설명하는 데 필요한 사전 지식이 필요합니다. 첫째 Vandevoorde 및 Josuttis에의 채널 16.1에서 설명하는 명명 된 템플릿 인수 관용구 편리하게 Boost.Parameter 라이브러리 위의 코드는 이름으로 arbritrary 위해 BreadSlicer의 선택 템플릿 매개 변수를 대체 할 수 #include <iostream>

    0

    2답변

    CRTP 기본 클래스 Generic이 동료, 즉 T도 파생 된 클래스를 식별 할 수 있는지 확인하기 위해 boost::is_base_of을 사용하려고합니다. Generic<T>::init()에 나타낸 바와 같이, I 클래스 Generic<T> 수 있도록하기 위해 이러한 메커니즘을 사용하고자는 맵 기능의 동료 중 하나 Bar1 또는 Bar2가 (있는 T 또한

    2

    2답변

    CRTP (이상하게 반복되는 템플릿 패턴)를 사용하여 기본 클래스에 파생 클래스에 대한 지식을 제공 할 수 있습니다. 그것은 모든 (실시 예 참조) class Base{ public: static std::vector<Base *> m_derivedInstances; }; template <class Derived> class C

    0

    2답변

    , 나는 다음과 같은 문제가 : 나는 아주 간단한 상속 방식이 를 (I 상속하지 구성 필요) : 수준의 자료를 -> 클래스 DerivedA -> 클래스 DerivedB 은 -를 A, B 및 C는 바에서 클래스를 유도 DerivedC> 그게 다야. 그래서 지금은 2 개 선택이 있습니다 virtuality와 공공 상속을 일부 최적화 이유 (내가 인라인을 많이

    5

    5답변

    현재 C#에서 침입 트리 구조를 구현하는 간단한 방법을 찾고 있습니다. 내가 주로 C++ 프로그래머이기 때문에, 나는 즉시 CRTP를 사용하고 싶었다. 여기 내 코드입니다 : public class TreeNode<T> where T : TreeNode<T> { public void AddChild(T a_node) { a_n

    4

    2답변

    왜 다음은 컴파일되지 않습니까? template <typename Child> struct Base { typename Child::Type t; // Does not compile. "No type named Type in Child" }; struct Derived : public Base<Derived> { typedef i

    0

    1답변

    친구 대 네임 스페이스 내부 CRTP와 ... 나는 보호 기능이 네임 스페이스 내부에 CRTP 건설 있습니다. 파생 클래스 (해당 네임 스페이스 내부에도 있음)는 다른 이름으로 typedefed됩니다. 그 옆에는 그 함수를 호출하려고하는 정적 함수가있는 클래스 (다른 이름으로 typedefed되어 있음)가 있습니다. 그래서 친구를 만들지 만 컴파일러 (제

    2

    1답변

    템플릿 클래스가 생성자에 전달 된 클래스 유형을 기반으로 매개 변수를 자동으로 선택하려고합니다. 개체에 이미 유형이 있습니다. InputA a; InputA a2; InputB b; 이러한 유형이 생성자 out<>(a) out; 의해 이해되어야하는 것은 out<InputA>(a) out; 이다. out<>(a2) out; 는 out<Inp

    0

    1답변

    다음 클래스 계층 구조 (사실 훨씬 많은 클래스가 있습니다)가 정적 다형성을 사용하도록 다음을 재구성 할 수 있는지 궁금합니다. struct return_val {}; struct base { virtual ~base(){} virtual return_val work(){}; }; struct derivedtype1 : publ