Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Modèles Avec Paramètres de Type Par Défaut | Modèles de Classe
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
Modèles Avec Paramètres de Type Par Défaut

Il est possible de spécifier un type de paramètre par défaut pour un modèle de classe et à partir de C++11, les arguments de modèle par défaut peuvent également être utilisés dans les modèles de fonction. Pour définir un type par défaut, écrivez simplement le type souhaité après le signe égal pour le paramètre de modèle.

cpp

main

copy
123456789101112131415
#include <iostream> template <typename T = int> // `int` will be used as a default type class Box { T value; // Stores the value of type `T` public: Box(T value) : value(value) { std::cout << this->value; } }; int main() { // Type not specified // VV Box<> intBox(25.5); }

Lorsque vous exécutez le code ci-dessus, le résultat sera 25 au lieu de 25.5. Cela se produit parce que le type par défaut pour la classe Box est défini sur int, ce qui tronque la partie décimale de la valeur.

Remarque

Similaire aux arguments de fonction par défaut, si un paramètre de modèle a un argument par défaut, alors tous les paramètres de modèle qui le suivent doivent également avoir des arguments par défaut.

En plus des paramètres de type par défaut, C++ permet des paramètres de modèle non typés avec des valeurs par défaut. Les paramètres non typés peuvent être des types entiers, des pointeurs ou des références. Pour spécifier un paramètre par défaut non typé, il suffit d'assigner une valeur par défaut après le paramètre.

h

array

copy
123456
// `int` and `10` are default parameters template <typename T = int, size_t Size = 10> struct Array { T arr[Size]; // Array with a fixed size of `Size` }

Les paramètres de modèle par défaut simplifient le code, réduisent la redondance et permettent aux modèles de gérer les cas d'utilisation typiques avec un minimum d'effort tout en permettant la personnalisation si nécessaire.

Lorsqu'un paramètre de modèle a une valeur par défaut, laquelle des propositions suivantes est vraie ?

Lorsqu'un paramètre de modèle a une valeur par défaut, laquelle des propositions suivantes est vraie ?

Sélectionnez quelques réponses correctes

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3
We're sorry to hear that something went wrong. What happened?
some-alt