crtp

    1

    1답변

    template <class Derived> struct Base { typedef typename Derived::T T; }; template <typename T_> struct Impl : public Base<Impl<T_>> { typedef T_ T; }; 이 초기화 때, 나는 'IMPL'그래서 , 어떻게 얻을

    1

    1답변

    필자는 행렬 곱셈, 행렬 역변환, 덧셈 등의 제한된 키 선형 대수 연산 집합을 광범위하게 사용하는 프로젝트 (고주파수)를 가지고 있습니다. 이러한 연산은 소수의 선형 대수학 라이브러리를 사용하여 비즈니스 로직 코드를 재 컴파일하지 않고도 벤치마킹하여 이러한 다양한 라이브러리의 다양한 방식을 수용 할 수 있습니다. 저는 나머지 코드들에 대해 이러한 작업을 표

    1

    1답변

    템플릿, 방문자 패턴 및 CRTP를 사용하여 메시징 시스템을 작성하려고합니다. 나는 이러한 개념을 이해하지만 여전히 "잃어버린"유형을 찾아야하는 상황에 처해 있습니다. Base 클래스가 있으며 Derived<T>을 찾고 싶습니다. 그것은 "이 무엇이든 될 수 있음을 추론하는"두 가지 유형입니다 (T은 아무 것도 될 수 있음). (단 하나의 유형으로 간주 되

    2

    2답변

    가 나는 아래의 코드에 데 문제를 다시했습니다 template<typename T> class A{ using type = T::type; type someFunction(/*some parameters*/){/*code for the function*/} //other stuff }; template<typename T>

    8

    3답변

    CRTP에서 머리를 감싸려고합니다. 이 포럼을 포함하여 좋은 소식이 몇 군데 있지만 정적 다형성의 기본 사항에 대해 혼란 스럽습니다. 다음 위키 백과 항목을 보면 : template <class T> struct Base { void implementation() { // ... static_cast<T*>(thi

    2

    1답변

    내가 여기에 CRTP 템플릿 클래스가 있습니다 template <typename S> class Base { public: constexpr static S NOT_SET{0}; }; struct Derived : public Base<Derived> { }; 연타 (5.0.0)이이 동의하지 않습니다 5 : <source>

    1

    1답변

    I 다음 예제 코드가 있습니다 #include <iostream> #include <initializer_list> struct foo { int x{}; }; struct bar { double y{}; }; template<typename... Base> struct Foo : Base... { constexpr auto init_

    4

    2답변

    자동 차별화 라이브러리 Adept를 사용하려고하는데 gcc 4.9.0 및 icc 16.0.2와 작동하지만 VS 2017 및 Clang 4.0.1에서는 실패했습니다. 다음 코드 조각으로 문제를 줄였습니다. 지식을 얻기 위해 라이브러리 작성자와 문제를 해결하는 동안이 코드가 두 컴파일러에서 작동하고 실패하는 이유를 알고 싶습니다. 다른 두 사람을 짓는다. VS

    1

    1답변

    나는 이것이 기이하게 반복되는 템플릿 패턴의 예라고 생각한다. 이건 컴파일해야하는 것처럼 보이지만 그렇지 않습니다. 이것은 Xcode 8.3의 Clang과 같습니다. Blarg 가 Fungeable 있기 때문에이 작업을해야처럼 template<class T> class Fungeable { public: virtual ~Fungeable()

    1

    1답변

    스마트 포인터를 기반으로하는 this blog post에 제공된 CRTP 예제에 대해 최소한의 작업 예제를 컴파일하려고합니다. 코드 예를 기반으로 헤더와 소스라는 두 개의 파일을 작성했습니다. 헤더 (crtp.h) : #include <memory> class Cloneable { public: virtual ~Cloneable() {}