Resultados da pesquisa a pedido "template-deduction"

1 a resposta

Qual é o procedimento de ordenação parcial na dedução de modelo

Lendo o padrão C ++ 11, não consigo entender completamente o significado da seguinte declaração. Exemplo são muito bem vindos.Dois conjuntos de tipos são usa...

3 a resposta

Deduzir o argumento de modelo da assinatura de chamada std :: function

Considere esta função de modelo:

3 a resposta

Por que a dedução automática e de tipo de modelo é diferente para inicializadores armados?

Eu entendo que, dado um inicializador apoiado,

1 a resposta

O que são guias de dedução de modelos e quando devemos usá-los?

O padrão C ++ 17 apresenta "guias de dedução de modelos". Acho que eles têm algo a ver com a nova dedução de argumento de modelo para construtores introduzidos nesta versão do padrão, mas ainda não vi uma explicação simples, no estilo FAQ, do que ...

6 a resposta

Deduzir parâmetro de modelo não-tipo

possível deduzir um parâmetro de modelo não-tipo de um parâmetro de função de model Considere este modelo simples: template <int N> constexpr int factorial() { return N * factorial<N - 1>(); } template <> constexpr int factorial<0>() { return ...

1 a resposta

Existe uma maneira de deduzir o valor de um parâmetro de modelo de ponteiro de função?

2 a resposta

Falha na dedução do argumento do modelo de classe com a classe derivada

#include <utility> template<class T1, class T2> struct mypair : std::pair<T1, T2> { using std::pair<T1, T2>::pair; }; int main() { (void)std::pair(2, 3); // It works (void)mypair(2, 3); // It doesn't work }O acima está bem formado? É possível ...

1 a resposta

Solução alternativa para dedução de argumento de modelo em contexto não deduzido

Considere o seguinte código: #include <iostream> template<class T> struct outer { struct inner {}; }; template<class T> std::ostream& operator<<(std::ostream & stream, typename outer<T>::inner const& value) { std::cout << "An outer::inner!"; ...

1 a resposta

Guia de dedução variável não utilizado pelo g ++, utilizado pelo clang ++ - quem está correto?

Considere o seguinte código: template <typename... Types> struct list { template <typename... Args> list(Args...) { static_assert(sizeof...(Types) > 0); } }; template <typename... Args> list(Args...) -> list<Args...>; int main() { list l{0, 0.1, ...

1 a resposta

Guia de dedução e modelos variados

Considere o seguinte código: #include <tuple> #include <iostream> template <class T> struct custom_wrapper { template <class Arg> custom_wrapper(Arg arg): data(arg) {} T data; }; template <class Arg> custom_wrapper(Arg arg) -> ...