Klassenvorlagen in C++-Funktionsvorlagen
C++-Funktionsvorlagen kennen Klassenvorlagen und verwenden sie als Parametertypen. Dadurch können Sie generische Funktionen erstellen, die mit einer Vielzahl von Datentypen und -strukturen arbeiten.
Syntax
template<typename T> void func(const T& arg1, const T2& arg2, ...);
wobei:
T
die Typvorlage des Funktionsparameters ist. 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
und nachfolgende Parameter sind die tatsächlichen Parameter der Funktion. Praktisches Beispiel
T1
wird zu int
abgeleitet, und T2
wird zu double
abgeleitet. Im zweiten Beispiel werden sowohl T1
als auch T2
zu std::string
abgeleitet. Das obige ist der detaillierte Inhalt vonWie verwende ich Klassenvorlagen in C++-Funktionsvorlagen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!