Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Syntaxe de base des templates en C++ | Création du Premier Template
Templates C++

Syntaxe de base des templates en C++

Glissez pour afficher le menu

Créer un template est en réalité assez simple, et c'est l'une des parties les plus faciles de leur utilisation. Pour commencer, il faut créer soit une fonction, soit une classe. Nous allons commencer par la fonction.

main.cpp

main.cpp

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

Comme vous pouvez le voir, il s'agit d'une fonction très simple qui ne fait rien pour l'instant. On peut facilement l'appeler dans la fonction main. Votre tâche maintenant est de la transformer en 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() { }

À présent, faisons en sorte qu'il effectue une action, comme afficher un message. Appelez-le dans la fonction main pour observer le résultat.

main.cpp

main.cpp

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

Comme vous pouvez le constater, une erreur se produit lorsque vous essayez de l'appeler comme s'il s'agissait d'une fonction classique. Cela arrive parce que ce n'est plus simplement une fonction ordinaire. À ce stade, le paramètre de template spécifié entre les chevrons après le mot-clé template devient essentiel.

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
Remarque

Le type que vous spécifiez pour cet exemple n'a pas d'importance, vous pouvez donc remplacer void par n'importe quel type souhaité. Cependant, la spécification du type est obligatoire.

Pour le modèle de fonction MyFirstTemplate, il n'est pas nécessaire de spécifier un nom pour le paramètre de type. Vous pouvez supprimer Name, et tout fonctionnera toujours car le paramètre de type n'est pas utilisé à l'intérieur de la fonction.

question mark

Quelle est la syntaxe correcte pour déclarer une fonction template ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 2

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 1. Chapitre 2
some-alt