Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Syntaxe de Base des Modèles en C++ | Création du Premier Modèle
Modèles C++
course content

Contenu du cours

Modèles C++

Modèles C++

1. Création du Premier Modèle
2. Utilisation des Templates
3. Modèles de Classe
4. Spécialisation de Template

book
Syntaxe de Base des Modèles en C++

Créer un modèle est en fait assez simple, et c'est l'une des parties les plus faciles de leur utilisation. Pour commencer, vous devrez créer soit une fonction, soit une classe. Nous commencerons par la fonction.

cpp

main

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

Comme vous pouvez le voir, il y a une fonction très simple qui ne fait rien pour l'instant. Nous pouvons facilement l'appeler à l'intérieur de la fonction main. Votre tâche maintenant est de la transformer en modèle.

h

template

copy
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() { }

Maintenant, faisons-le faire quelque chose, comme imprimer un message. Allez-y et appelez-le à l'intérieur de la fonction principale pour le voir en action.

cpp

main

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

Comme vous pouvez le voir, une erreur survient lorsque nous essayons de l'appeler comme s'il s'agissait d'une simple fonction. C'est parce que ce n'est plus simplement une fonction. C'est là que le paramètre de modèle, spécifié à l'intérieur des crochets après le mot-clé template, entre en jeu.

cpp

main

copy
12345678910111213
#include <iostream> // This essentioally creates an alias for a type we will use template<typename Name> // In our 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 // We need to specify any type inside the brackets MyFirstTemplate<void>(); // This tells the template to use void as the type for Name }

Remarque

Peu importe le type que vous spécifiez pour cet exemple, vous pouvez donc changer void pour n'importe quel type que vous souhaitez. Cependant, spécifier le 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.

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

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
We're sorry to hear that something went wrong. What happened?
some-alt