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 Typés | Utilisation des templates
Templates C++
Section 2. Chapitre 3
single

single

Paramètres de Modèle Non Typés

Glissez pour afficher le menu

Lors de la définition d'un template, il est possible de spécifier non seulement des types, mais aussi de transmettre des valeurs à ces types. Cela permet de créer des templates dont le comportement varie en fonction des valeurs fournies, mais nous y reviendrons un peu plus tard.

main.cpp

main.cpp

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 à la compilation, ce qui permet son utilisation en métaprogrammation.

main.cpp

main.cpp

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é à la compilation, ce qui entraîne zéro opération à l'exécution.

question mark

Quel est un avantage clé de l'utilisation des paramètres de template non typés dans les templates C++ ?

Sélectionnez la réponse correcte

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
single

single

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

some-alt