crtp

    11

    2답변

    mixins (C++)에 대해 공부하고 있습니다. mixins에 관한 기사를 읽고 C++에서 "approximating"mixins의 두 가지 패턴을 발견했습니다. 패턴 1 : template<class Base> struct Mixin1 : public Base { }; template<class Base> struct Mixin2 : publi

    0

    4답변

    나는 클래스를 가지고 있는데,이 클래스에는 아래에 정의 된대로 DerivedA과 DerivedB이 있습니다. 한마디로 template <typename Derived> class Base{ public: double interface(){ static_cast<Derived*>(this)->implementation(); }

    1

    2답변

    내 라이브러리 사용자가 그 안에있는 일부 데이터를 제공하는 고정 크기의 버퍼에 메시지를 작성하려고합니다. 필자는 사용자에게 버퍼에 대한 포인터를 제공하고 버퍼에 쓸 수있게하고, 쓴 바이트 수를 참조하여 size_t 인수를 설정했습니다. 사용자가 실수로 버퍼를 손상 시키거나 기록 된 바이트 수를 잘못보고 할 수 있기 때문에이 접근 방식에서 벗어나고 싶었습니다

    1

    1답변

    CRTP를 사용하여 초기화 참조를하는 방법이 있습니까? 내 목표는 #include <iostream> int gI = 1; template <typename Derived> struct A { A() { static_cast<Derived*>(this)->InitRefs(); } void InitI

    3

    1답변

    다형성 객체의 크기를 가져오고 싶습니다. 이다 struct Base { virtual std::size_t size() const { return sizeof(*this); } }; struct Derived : Base { virtual std::size_t size() const { return si

    4

    1답변

    나는 다음과 같은 코드가 작동을 template < class __derived, class __object = typename __derived::Object > struct Base { using Derived = __derived; using Object = __object; void function(Object o) {

    6

    1답변

    파생 클래스가 특정 정적 메서드를 구현하도록하고 싶습니다. 나는 그렇게하는 것이 static_assert, std::is_same, decltype, CRTP을 사용하고 SFINAE을 사용하여 가능해야한다고 생각한다. 그러나 지금까지 찾은 similar code은 상당히 복잡하며 내 요구 사항을 수용 할 수 없다는 것을 완전히 이해하지 못하는 것 같습니다.

    1

    1답변

    는 허브 서터의 Guru of the Week #4, "Class Mechanics"는 과부하 연산자의 "OP B"형태 (용액의 요점 # 4 참조)의 "OP = B"형태의 관점에서 구현되어야한다고 교시하고있다. T& T::operator+=(const T& other) { //... return *this; } T operator+(

    1

    1답변

    을 유도하기 위해 나는 고전적인 상속을 사용하여 다음과 같은 간단한 클래스 계층 구조를 가지고 가정 : struct A_classic {}; struct B_classic : A_classic {}; 내가 A_classic에서 B_classic로 변환 연산자를 구현하려는. 가능한 한 많은 코드를 재사용하기 위해, 내가 A_classic a; // Gi

    0

    2답변

    저는 C++ 응용 프로그램에서 창과 입력 관리에 GLFW를 사용하고 있습니다. 키 이벤트에 대한 콜백으로 멤버 함수를 사용하기 위해 응답 here에서 제안한 싱글 톤을 사용했습니다. 그러나 다른 입력 핸들러를 구현해야합니다. 내 접근 방식은 다형성을 허용하는 실제 입력 처리기 (controller_)에 대한 래퍼로 Singleton을 사용하는 것입니다. 그