Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Paramètres de Modèle Non-Typiques | Utilisation des Templates
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
Paramètres de Modèle Non-Typiques

Lors de la définition d'un modèle, nous pouvons non seulement spécifier des types, mais aussi passer des valeurs à ces types. Cela signifie que nous pouvons créer des modèles qui se comportent différemment en fonction des valeurs fournies, mais nous y reviendrons un peu plus tard.

cpp

main

copy
123456789101112
#include <iostream> // Non-type parameter means we won't use typename // Instead you can use an actual type for it template<int N> void PrintValue() { std::cout << N << std::endl; } int main() { // Call the template function with a literal integer PrintValue<5>(); // 5 }

L'avantage principal de cette approche est que tous les calculs sont effectués lors de la compilation, ce qui permet son utilisation en métaprogrammation.

cpp

main

copy
1234567891011
#include <iostream> // Template function to calculate the square of a non-type parameter I template<int I> int Square() { return I * I; } // Return the square of I int main() { // The result of Square<5>() is computed at compile time int b = Square<5>(); // b will be initialized to 25 }

Lorsque vous exécutez le programme compilé, la valeur de b sera déjà 25. Le calcul est effectué lors de la compilation, ce qui entraîne zéro opérations à l'exécution.

Tâche

Swipe to start coding

Complétez la fonction template et trouvez la somme des variables options et operations.

  1. Complétez la fonction template.
  2. Changez le type des variables options et operations pour pouvoir les passer en tant que paramètres de template.

Solution

cpp

solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3
toggle bottom row

book
Paramètres de Modèle Non-Typiques

Lors de la définition d'un modèle, nous pouvons non seulement spécifier des types, mais aussi passer des valeurs à ces types. Cela signifie que nous pouvons créer des modèles qui se comportent différemment en fonction des valeurs fournies, mais nous y reviendrons un peu plus tard.

cpp

main

copy
123456789101112
#include <iostream> // Non-type parameter means we won't use typename // Instead you can use an actual type for it template<int N> void PrintValue() { std::cout << N << std::endl; } int main() { // Call the template function with a literal integer PrintValue<5>(); // 5 }

L'avantage principal de cette approche est que tous les calculs sont effectués lors de la compilation, ce qui permet son utilisation en métaprogrammation.

cpp

main

copy
1234567891011
#include <iostream> // Template function to calculate the square of a non-type parameter I template<int I> int Square() { return I * I; } // Return the square of I int main() { // The result of Square<5>() is computed at compile time int b = Square<5>(); // b will be initialized to 25 }

Lorsque vous exécutez le programme compilé, la valeur de b sera déjà 25. Le calcul est effectué lors de la compilation, ce qui entraîne zéro opérations à l'exécution.

Tâche

Swipe to start coding

Complétez la fonction template et trouvez la somme des variables options et operations.

  1. Complétez la fonction template.
  2. Changez le type des variables options et operations pour pouvoir les passer en tant que paramètres de template.

Solution

cpp

solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3
Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
We're sorry to hear that something went wrong. What happened?
some-alt