single
Criando Seu Primeiro Template em C++
Deslize para mostrar o menu
Vamos analisar o que acontece ao especificar diferentes tipos para o template. Para isso, será utilizado typeid().name(), que simplesmente exibe o tipo de dado da variável. Observe o exemplo abaixo:
main.cpp
1234567#include <iostream> int main() { int x = 5; std::cout << typeid(x).name(); }
O trecho de código acima exibirá apenas no console i, simbolizando que x é um int.
Criação de um template utilizando <typename Type> e passagem de Type como parâmetro para a função em vez de especificar uma variável específica.
main.cpp
12345678910111213#include <iostream> template<typename Type> void check_type() { std::cout << typeid(Type).name() << std::endl; } int main() { // Try to change `int` to different type check_type<int>(); }
Como pode ser observado, ao chamar a função template e especificar um tipo entre colchetes, o parâmetro typename recebe esse tipo. O nome do parâmetro do template torna-se, essencialmente, um alias para esse tipo.
Também é possível utilizar esse parâmetro de template dentro do corpo da função para declarar variáveis exatamente desse tipo.
main.cpp
12345678template<typename Type> void create_variable() { Type value; // Variable of the template type value = Type(); // Default initialization std::cout << value << std::endl; }
Deslize para começar a programar
- Transformação da função
swapem uma função template:- definição de template utilizando a palavra-chave
template; - adição da lista de parâmetros de template;
- inclusão de um parâmetro para o template.
- definição de template utilizando a palavra-chave
- Substituição de todos os tipos (
int) pelotypenameproveniente do parâmetro de template. - Chamada da função template passando
charcomo tipo, realizando a troca de duas variáveis na funçãomain.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo