Articles of templates

Por que o compilador não pode deduzir o tipo de modelo dos argumentos padrão?

Fiquei surpreso que o código a seguir resultou em um could not deduce template argument for T erro could not deduce template argument for T : struct foo { template void bar(int a, T b = 0.0f) { } }; int main() { foo a; a.bar(5); return 0; } Chamar a.bar(5) corrige o problema. Por […]

Recipientes de biblioteca padrão com parâmetros de modelo adicionais opcionais?

Depois de ler a declaração várias vezes em artigos – quero adicionar essa pergunta ao Stackoverflow e perguntar à comunidade – o seguinte código é portátil? template<template class C> void f() { /* some code goes here … */ } int main() { f(); } A implementação que fornece std::vector realmente permite ter parâmetros de […]

Como posso replace o modelo @ Html.LabelFor?

Eu tenho um formulário de campo simples @Html.LabelFor(model => model.Register.UserName) @Html.TextBoxFor(model => model.Register.UserName) e isso resulta em: Username (used to identify all services, from 4 to 30 chars) mas eu quero que o código LabelFor acrescente um dentro para que eu possa ter: Username (used to identify all services, from 4 to 30 chars) Como […]

Quais são as diferenças entre os tipos “genéricos” em C ++ e Java?

Java tem genéricos e C ++ fornece um modelo de programação muito forte com template s. Então, qual é a diferença entre genéricos C ++ e Java?

Como posso expandir a chamada para classs base de modelos variádicos?

Eu tenho um conjunto de políticas não ortogonais, todas elas implementando um método comum, as políticas adicionam verificações de segurança. Eu quero que os usuários possam combinar as políticas para permitir uma validação mais complexa sem criar políticas para cada caso de combinação à mão. Minha abordagem é criar uma nova class de políticas para […]

Visualizações do Razor como modelos de email

Estou criando um mecanismo de e-mail no mvc3 e estou tentando usar vistas de razor como modelos de e-mail. Ouvi dizer que isso é possível, mas ainda não encontrei nenhuma informação sobre isso.

Detalhes de instanciação de modelos de compiladores GCC e MS

Alguém poderia fornecer uma comparação ou detalhes específicos de como a instanciação de modelo é tratada na compilation e / ou tempo de link nos compiladores GCC e MS? Este processo é diferente no contexto de bibliotecas estáticas, bibliotecas compartilhadas e executáveis? Eu encontrei este documento sobre como o GCC lida com isso, mas não […]

Modelo de function variádica com expansão de pacote não no último parâmetro

Eu estou querendo saber porque o seguinte código não compila: struct S { template S(T…, int); }; S c{0, 0}; Este código não é compilado com o clang e o GCC 4.8. Aqui está o erro com clang: test.cpp:7:3: error: no matching constructor for initialization of ‘S’ S c{0, 0}; ^~~~~~~ test.cpp:4:5: note: candidate constructor […]

Erro de “uso inválido de tipo incompleto” com especialização parcial de modelo

O seguinte código: template struct foo { void bar(); }; template void foo ::bar() { } me dá o erro invalid use of incomplete type ‘struct foo’ declaration of ‘struct foo’ (Estou usando o gcc.) A minha syntax para a especialização parcial está errada? Note que se eu remover o segundo argumento: template struct foo […]

Especialização em modelos de membros específicos?

É possível especializar membros específicos de uma class de modelo? Algo como: template struct X { void Specialized(); }; template void X::Specialized() { … } template void X::Specialized() { … } Claro, esse código não é válido.