Lar Desenvolvimento O que é um modelo? - o que é techopedia

O que é um modelo? - o que é techopedia

Índice:

Anonim

Definição - O que significa Template?

Um modelo é um recurso de programação C ++ que permite operações de função e classe com tipos genéricos, o que permite a funcionalidade com diferentes tipos de dados sem reescrever blocos de código inteiros para cada tipo.


Os modelos são um utilitário valioso em C ++, especialmente quando usados ​​com sobrecarga do operador e herança múltipla. Os modelos reduzem o esforço associado à codificação de diferentes tipos de dados em um único conjunto de códigos e reduzem os esforços de depuração.

Techopedia explica Template

O C ++ fornece os dois tipos de modelos a seguir usados ​​para implementar construções gerais, como listas, filas, vetores e pilhas:

  • Modelo de classe: se assemelha a uma definição de classe regular, mas é prefixado pelo seguinte: template , seguido pela declaração do corpo da classe, incluindo dados e funções dos membros. As declarações e definições da função de membro do modelo de classe estão no mesmo arquivo de cabeçalho. Modelos de classe C ++ são mais adequados para classes de contêiner.
  • Modelo de função: implementado através dos parâmetros do modelo, que é um tipo de parâmetro especial usado para passar um tipo como argumento de função. Assim, a funcionalidade pode ser adaptada a mais de um tipo ou classe sem repetir o código inteiro. O formato para declarar um modelo de função com um parâmetro de tipo é o modelo function_declaration ou modelo function_declaration. Não há diferença entre as palavras-chave classe e nome do tipo.
Modelos geralmente requerem verificação de tipo em tempo de compilação.


O código gerado pelo modelo pode ser substituído, fornecendo definições especiais para tipos específicos, conhecido como especialização de modelo. Uma versão especial de uma função para um determinado conjunto de argumentos de modelo é conhecida como especialização explícita. Um modelo de classe especializado por um subconjunto de seus parâmetros é conhecido como especialização parcial do modelo. Especialização completa ocorre para cada parâmetro é especializado. Esta definição foi escrita no contexto de C ++

O que é um modelo? - o que é techopedia