Resultados da pesquisa a pedido "templates"
Como o C ++ vincula instâncias de modelo
Se eu definir uma função (talvez uma função de membro da classe, mas não embutida) em um arquivo de cabeçalho incluído por duas unidades de conversão diferentes, recebo um erro de link, pois essa função é definida de várias formas. O mesmo não ...
Por que nenhuma palavra-chave de modelo é necessária se existe uma função de modelo global não relacionada com o mesmo nome?
Esta pergunta está relacionada à minha pergunta anteriorErro do compilador ao tentar chamar o método de modelo da instância ...
Por que um parâmetro de modelo não permite 'typename' após a lista de parâmetros
Typename do modelo de modelo?Ao usarmodelo modelosintaxe como emtemplate <template <typename> class T>, é necessário usar a palavra-chaveclass, como usandotypename dá um erro ao longo das linhas de: erro: o parâmetro do modelo requer 'classe' ...
correspondência de parâmetros de modelos variadic em std :: function
Eu tenho o seguinte código: #include <iostream> #include <functional> template<typename Return, typename... Params> void func(std::function<Return(Params... )> x) {} void f(double) {} int main() { //func<void, double>(f); // compile error here ...
Por que a verificação de controle de acesso usual se aplica a nomes usados para especificar instanciação explícita quando acessada através dos parâmetros do modelo?
O padrão C ++ declara o seguinte na nota 14.7.2 / 12 [temp.explicit]: As regras usuais de verificação de acesso não se aplicam a nomes usados para especificar instanciações explícitas. [Nota: Em particular, os argumentos e nomes do modelo usados ...
Modelos C ++ ocultam membros pai
Normalmente, quandoA está herdando deB, todos os membros deA são automaticamente visíveis paraBfunções, por exemplo class A { protected: int a; }; class B : public A { int getA() {return a;} //no need to use A::a, it is automatically visible ...
É necessário listar explicitamente os parâmetros padrão ao usar o parâmetro do modelo?
Gostaria de perguntar se o seguinte exemplo de código deve ser compilado: #include <iostream> #include <vector> #include <typeinfo> using namespace std; template <template <class...> class C> struct convert_container { using type = C<double>; // ...
O uso de std :: vector <std :: shared_ptr <const T>> é um antipadrão?
Durante muito tempo eu estava usandostd::vector estd::shared_ptr de mãos dadas. Recentemente comecei a usarstd::shared_ptr<const T> sempre que um ponteiro para um objeto const fosse necessário. Tudo bem, já questd::shared_ptr<T> pode ser lançado ...
Criando uma lista de tempo de compilação incrementalmente em C ++
No C ++, existe uma maneira de criar uma lista de tempo de compilação incrementalmente, no seguinte padrão? START_LIST(List) ADD_TO_LIST(List, int) ADD_TO_LIST(List, float) ADD_TO_LIST(List, double) END_LIST(List)O resultado disso deve ser ...
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 ...