Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Convenções de Nomenclatura | Criando o Primeiro Template
Templates em C++

Convenções de Nomenclatura

Deslize para mostrar o menu

Boas e más nomeações

Assim como variáveis, os parâmetros de template podem receber qualquer nome. No entanto, seguir convenções de nomenclatura pode melhorar significativamente a legibilidade e a manutenção do código. Veja algumas boas e más práticas a serem consideradas.

main.cpp

main.cpp

1234
template<typename T> // <- Actually a good naming void myTemplate() { // Function implementation }

Você pode se perguntar por que T é considerado uma escolha de nome melhor do que Type, mesmo que este último pareça mais claro. O motivo é simples: T é uma convenção amplamente aceita que representa Type. Isso indica imediatamente que o parâmetro do template representa um tipo, o que é familiar para a maioria dos desenvolvedores. Também é comum usar U ou V se T já tiver sido utilizado.

Nomes descritivos

Quando houver vários parâmetros de template e o propósito deles não for imediatamente óbvio, é uma boa prática utilizar nomes descritivos prefixados com T.

main.cpp

main.cpp

1234
template<typename TKey, typename TValue> void map() { // Function implementation }

Ao consultar a documentação de alguns templates, é possível notar que alguns desenvolvedores adicionam um sublinhado (_) antes do parâmetro de tipo para torná-lo mais distinto. Essa prática também pode ser adotada. No entanto, o aspecto mais importante é manter a consistência em todo o código. Escolha um estilo de nomenclatura de sua preferência e mantenha-o.

Class e typename

Tanto class quanto typename são usados em declarações de templates. Eles são intercambiáveis nesse contexto.

main.cpp

main.cpp

12345
template <class T> void first_template(T param) { /* ... */ } template <typename T> void second_template(T param) { /* ... */ }

Historicamente, a palavra-chave class era a única opção disponível para definir parâmetros de template. Por isso, é possível encontrar esse termo em códigos mais antigos. No entanto, ao criar templates, a palavra-chave typename é frequentemente preferida por sua clareza, então será utilizada aqui.

question mark

O que pode ser colocado nos espaços reservados?

Selecione todas as respostas corretas

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 5

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 5
some-alt