Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Sintaxe Básica de Templates em C++ | Criando o Primeiro Template
Templates em C++

Sintaxe Básica de Templates em C++

Deslize para mostrar o menu

Criar um template é, na verdade, bastante simples, sendo uma das partes mais fáceis de utilizá-los. Para começar, é necessário criar uma função ou uma classe. Vamos começar pela função.

main.cpp

main.cpp

123456
void MyFirstTemplate() { } int main() { MyFirstTemplate(); }

Como pode ser visto, há uma função muito simples que, por enquanto, não faz nada. Ela pode ser facilmente chamada dentro da função main. Agora, sua tarefa é transformá-la em um template.

template.h

template.h

123456789101112
// To create a template, you need to add code above the function or class // Start with the keyword `template` to indicate you're defining a template // template // Add angle brackets `<>`, this is list of the parameters for template // template < > // Inside of it has to be keyword `typename` and the name of it // template <typename Name> template <typename Name> void MyFirstTemplate() { }

Agora, vamos fazer com que execute alguma ação, como exibir uma mensagem. Utilize a função dentro da função main para ver o resultado em execução.

main.cpp

main.cpp

123456789101112
#include <iostream> template<typename Name> void MyFirstTemplate() { std::cout << "c<>definity" << std::endl; } int main() { MyFirstTemplate(); }

Como você pode ver, ocorre um erro ao tentar chamá-la como se fosse uma função comum. Isso acontece porque não é mais apenas uma função simples. Neste ponto, o parâmetro de template especificado entre os sinais de menor e maior após a palavra-chave template torna-se essencial.

main.cpp

main.cpp

12345678910111213
#include <iostream> // This essentioally creates an alias for a type you will use template<typename Name> // In this case the name of the type is Name void MyFirstTemplate() { std::cout << "c<>definity" << std::endl; } int main() { // In order to call the template function properly // You need to specify any type inside the brackets MyFirstTemplate<void>(); // This tells the template to use void as the type for Name }
Note
Nota

Não importa qual tipo você especifique neste exemplo, então você pode trocar void por qualquer tipo desejado. No entanto, especificar o tipo é obrigatório.

Para o template de função MyFirstTemplate, não é necessário especificar um nome para o parâmetro de tipo. Você pode remover Name, e tudo continuará funcionando porque o parâmetro de tipo não é utilizado dentro da função.

question mark

Qual é a sintaxe correta para declarar uma função template?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 1. Capítulo 2
some-alt