La programmation de modèles C++ utilise le paramétrage de type (template
Simplifiez le complexe et débloquez la programmation de modèles C++
Introduction
La programmation de modèles est une technique puissante en C++ qui nous permet d'écrire du code qui fonctionne avec différents types de données. En utilisant des modèles, nous pouvons créer du code réutilisable, augmentant ainsi l'efficacité du développement et réduisant la duplication de code.
Paramétrage de type
La base des modèles est le paramétrage de type. Nous pouvons déclarer une fonction ou une classe de modèle en utilisant le mot-clé template<class t></class>
, où T
est le paramètre de type. Par exemple : template<class t></class>
关键字来声明一个模板函数或类,其中 T
是类型参数。例如:
template<class T> void print(T value) { std::cout << value << std::endl; }
这个模板函数可以打印任何类型的数据。
特化
有时,我们可能需要为特定类型提供不同的实现。我们可以使用模板特化来实现这一点。例如,我们可以为 char
类型对 print
函数进行特化:
template<> void print<char>(char value) { std::cout << static_cast<int>(value) << std::endl; }
现在,当我们调用 print('a')
时,它将打印 a
template<class T> class List { public: void add(T value) { elements.push_back(value); } void print() { for (T element : elements) { std::cout << element << " "; } std::cout << std::endl; } private: std::vector<T> elements; };
Spécialisation
Parfois, nous devrons peut-être fournir différentes implémentations pour des types spécifiques. Nous pouvons y parvenir en utilisant la spécialisation des modèles. Par exemple, nous pouvons spécialiser la fonctionprint
pour le type char
: List<int> intList; intList.add(1); intList.add(2); intList.print(); // 输出:1 2 List<std::string> stringList; stringList.add("Hello"); stringList.add("World"); stringList.print(); // 输出:Hello World
print('a')
, qui imprimera la valeur ASCII 97 pour a
. Exemple : Classe de liste
Utilisons des modèles pour créer une classe de liste pouvant stocker tout type de données. 🎜rrreee🎜Nous pouvons utiliser cette classe de liste pour stocker des entiers, des chaînes ou tout autre type de données : 🎜rrreee🎜🎜Conclusion🎜🎜🎜En comprenant le paramétrage et la spécialisation des types, nous pouvons maîtriser la programmation de modèles C++. Cela nous permet de créer du code commun et réutilisable, réduisant ainsi la duplication de code et augmentant l'efficacité du développement. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!