Resultados da pesquisa a pedido "templates"

3 a resposta

Nome bonito do modelo C ++

Preciso imprimir nomes de modelos recuados para fins de depuração. Por exemplo, em vez de uma linha, eu gostaria de recuar o nome assim: boost::phoenix::actor< boost::phoenix::composite< boost::phoenix::less_eval, boost::fusion::vector< ...

2 a resposta

Typedefs fortes [duplicado]

Esta pergunta já tem uma resposta aqui: C ++ fortemente tipado usando e typedef [/questions/34287842/c-strongly-typed-using-and-typedef] 4 respostasExiste alguma maneira de fazer uma cópia completa de um tipo para que eles possam ...

1 a resposta

inspecionar a instanciação do modelo C ++

Existe algum utilitário que me permita inspecionar a instanciação do modelo? meu compilador é g ++ ou Intel. Pontos específicos que eu gostaria: Instanciação passo a passo.Backtrace de instanciação (pode hackear isso travando o compilador. ...

1 a resposta

Se o endereço de uma função não puder ser resolvido durante a dedução, é SFINAE ou um erro do compilador?

No C ++ 0x, as regras SFINAE foram simplificadas para que qualquer expressão ou tipo inválido que ocorra no "contexto imediato" da dedução não resulte em erro do compilador, mas em falha na dedução (SFINAE). Minha pergunta é esta: Se eu pegar o ...

2 a resposta

Métodos virtuais para visitantes e modelos

Em uma implementação típica doVisitante padrão, a classe deve contabilizar todas as variações (descendentes) da classe base. Há muitos casos em que o mesmo conteúdo do método no visitante é aplicado aos diferentes métodos. Um método virtual ...

3 a resposta

Usar um parâmetro de modelo em uma diretiva de pré-processador?

É possível usar um parâmetro de modelo constante que não seja do tipo em uma diretiva de pré-processador? Aqui está o que eu tenho em mente: template <int DING> struct Foo { enum { DOO = DING }; }; template <typename T> struct Blah { void DoIt() ...

2 a resposta

Como declarar corretamente um amigo de uma classe aninhada de uma classe de modelo?

Quando eu faço o seguinte: template <typename T> class Container { public: class Iterator { friend bool operator==(const Iterator& x, const Iterator& y); }; };O gcc me dá o seguinte aviso e sugestão: warning: friend declaration 'bool ...

3 a resposta

parâmetro do modelo não-ponteiro

Realmente não entendo por que o código abaixo não é compilado: template<const char*> struct Foo{}; constexpr const char s1[] = "test1"; constexpr const char* const s2 = "test2"; int main() { Foo<s1> foo1; // ok // Foo<s2> foo2; // doesn't ...

1 a resposta

Habilitar método com base no parâmetro de modelo booleano

Eu quero implementar uma função privada com base em um parâmetro de modelo booleano. Algo parecido: #include <iostream> using namespace std; template <bool is_enabled = true> class Aggregator { public: void fun(int a) { funInternal(a); } ...

5 a resposta

Como o `is_base_of` funciona?

Como o código a seguir funciona? typedef char (&yes)[1]; typedef char (&no)[2]; template <typename B, typename D> struct Host { operator B*() const; operator D*(); }; template <typename B, typename D> struct is_base_of { template <typename T> ...