Resultados da pesquisa a pedido "crtp"

3 a resposta

Polimorfismo estático com CRTP: usando a classe base para chamar métodos derivados

Um dos principais benefícios devirtual em C ++ é capaz de usar a classe base (ponteiro ou referência) para chamar métodos derivados. Eu estou lendousando CRTP para implementar polimorfismo ...

1 a resposta

Problemas de subclassificação dependentes de parâmetros de modelo e modelo curiosamente recorrentes

Estou tentando fazer o seguinte código funcionar template < class __derived, class __object = typename __derived::Object > struct Base { using Derived = __derived; using Object = __object; void function(Object o) { return Derived::function(s); } ...

4 a resposta

Uma coleção polimórfica de CRTP (Curiously Recorrring Template Pattern) em C ++?

Eu tenho aulaBase da qual eu tenho duas classes,DerivedA eDerivedB conforme definido abaixo. template <typename Derived> class Base{ public: double interface(){ static_cast<Derived*>(this)->implementation(); } }; class Derived,A : ...

2 a resposta

Criando referências genéricas circulares

Estou escrevendo um aplicativo para fazer alguns cálculos distribuídos em uma rede ponto a ponto. Ao definir a rede, tenho duas classes: P2PNetwork e P2PClient. Eu quero que eles sejam genéricos e as definições de: P2PNetwork<T extends ...

2 a resposta

Como proteger o CRTP contra o fornecimento de superclasse errada? [duplicado]

Esta pergunta já tem uma resposta aqui: Como evitar erros ao usar o CRTP? [/questions/4417782/how-to-avoid-errors-while-using-crtp] 5 respostasNopadrão curiosamente recorrente [http://en.wikipedia.org/wiki/Curiously_recurring_template_pattern], ...

2 a resposta

Erro de compilação do CRTP

O seguinte será compilado com o GCC 5.2, mas não com o Visual Studio 2015. template <typename Derived> struct CRTP { static constexpr int num = Derived::value + 1; }; struct A : CRTP<A> { static constexpr int value = 5; }; Reclama queA não tem ...

2 a resposta

Padrão de modelo curiosamente recorrente (CRTP) com constexpr estático em Clang

Considere o meu exemplo simples abaixo: #include <iostream> template <typename T> class Base { public: static constexpr int y = T::x; }; class Derived : public Base<Derived> { public: static constexpr int x = 5; }; int main() { std::cout << ...

1 a resposta

Inicializando um membro de dados constexpr estático da classe base usando um membro de dados constexpr estático da classe derivada

Considere o seguinte código: template<typename T> struct S { static constexpr int bar = T::foo; }; struct U: S<U> { static constexpr int foo = 42; }; int main() { }GCC v6.1 [https://godbolt.org/g/xDmBPW]compila,clang 3.8 ...

5 a resposta

Qual é o padrão de modelo curiosamente recorrente (CRTP)?

Sem se referir a um livro, alguém pode fornecer uma boa explicação paraCRTP com um exemplo de código?

2 a resposta

Quais são as regras para uma inicialização de variável estática de classe?

Eu tenho algum código legado e preciso adicionar uma nova classe para a mensagem (o que é irrelevante para a minha pergunta). Mas acontece que eu preciso declarar um construtor vazio para que alguma estática seja inicializada. Não é um construtor ...