Étapes pour écrire une fonction de modèle C++ : Déclarez les paramètres de modèle entre crochets . Lorsqu'il est appelé, le compilateur déduit les types de paramètres. Plusieurs paramètres de modèle peuvent être utilisés. Cas pratique : écrire une fonction qui compare des valeurs de différents types.
Les fonctions de modèle C++ sont un outil puissant qui vous permet d'écrire du code réutilisable qui fonctionne avec une variété de types de données. Voici un guide étape par étape pour écrire des fonctions de modèle C++ :
1. Syntaxe
Les fonctions de modèle sont déclarées à l'aide de paramètres de modèle placés entre crochets . La fonction est déclarée comme suit :
template<typename T> T max(T a, T b) { if (a > b) { return a; } else { return b; } }
<typename T>
est un paramètre de modèle, ce qui signifie que la fonction sera applicable à tout type de données qui la suit. <typename T>
是模板参数,它表示函数将适用于其后跟的任何数据类型。
2. 类型推断
调用模板函数时,编译器将推断模板参数的类型。例如,如果调用:
int max_value = max(10, 20);
编译器将推断 <T>
为 int
,因此调用类似于:
int max(int a, int b) { // ... }
3. 多个模板参数
模板函数可以有多个模板参数。例如,您可以编写一个两个模板参数的 max
2. Inférence de type
Lors de l'appel d'une fonction de modèle, le compilateur déduira le type du paramètre de modèle. Par exemple, si vous appelez :template<typename T, typename U> std::pair<T, U> max(T a, U b) { if (a > b) { return {a, b}; } else { return {b, a}; } }
<T>
est int
, donc l'appel ressemble à : template<typename T> bool is_greater(T a, T b) { return a > b; }
3. paramètres
Les fonctions de modèle peuvent avoir plusieurs paramètres de modèle. Par exemple, vous pouvez écrire une fonctionmax
avec deux paramètres de modèle : bool is_greater_int = is_greater(10, 20); // true bool is_greater_float = is_greater(1.5f, 2.5f); // true
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!