Resultados da pesquisa a pedido "crtp"
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?
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 ...
Proteger o padrão CRTP da pilha transbordando em chamadas "puramente virtuais"
Considere o seguinte exemplo padrão de CRTP: #include <iostream> template<class Derived> struct Base { void f() { static_cast<Derived *>(this)->f(); } void g() { static_cast<Derived *>(this)->g(); } }; struct Foo : public Base<Foo> { void f() { ...
Como evitar erros ao usar o CRTP?
UsandoCRTP [http://en.wikipedia.org/wiki/Curiously_recurring_template_pattern]às vezes escrevo um código como este: // this was written first struct Foo : Base<Foo, ...> { ... }; // this was copy-pasted from Foo some days later struct Bar : ...
Usando CRTP com herança virtual
Eu tenho uma hierarquia de nós, onde "diamante" pode ocorrer. Cada nó deve ser clonável, mas não quero gravar o método clone em cada nó. Então eu uso o CRTP. class Node { public: Node(){} Node(Fill*) { } virtual ~Node() {} virtual Node ...
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 ...
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); } ...
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 : ...
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 ...
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], ...