Maison >développement back-end >C++ >Comment utiliser les modèles de classe dans les modèles de fonctions C++ ?
Modèles de classe dans les modèles de fonctions C++
Les modèles de fonctions C++ connaissent les modèles de classe et les utilisent comme types de paramètres. Cela vous permet de créer des fonctions génériques qui fonctionnent avec une variété de types et de structures de données.
Syntaxe
template<typename T> void func(const T& arg1, const T2& arg2, ...);
où :
T
est le modèle de type du paramètre de fonction. T
是函数参数的类型模板。arg1
, arg2
及后续参数是函数的实际参数。实战案例
考虑一个打印任何类型的一对值的函数:
template <typename T1, typename T2> void print_pair(const T1& a, const T2& b) { std::cout << a << " " << b << std::endl; }
我们可以将这个函数模板应用于不同的类型组合:
int main() { print_pair(1, 2.5); // 打印整数和浮点数 print_pair("Hello", "World"); // 打印字符串 return 0; }
在第一个示例中,T1
被推导为 int
,T2
被推导为 double
。在第二个示例中,T1
和 T2
都被推导为 std::string
arg1
, arg2
et les paramètres suivants sont les paramètres réels de la fonction. Exemple pratique
T1
se déduit de int
, et T2
se déduit de double
. Dans le deuxième exemple, T1
et T2
sont déduits de std::string
. 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!