함수 템플릿을 사용하면 코드를 유형 독립적인 방식으로 작성하여 컴파일 시간 다형성을 제공할 수 있습니다. 구문은 template<typename T>이며, 여기서 T는 템플릿 매개변수입니다. 함수 템플릿은 요소 교체, 배열의 최대값 찾기 등 다양한 작업에 사용할 수 있습니다. 템플릿은 사용하기 전에 선언해야 하며 템플릿에서는 포인터를 사용하지 않는 것이 가장 좋습니다.
C++ 함수 템플릿 구문 및 사용법
소개
함수 템플릿은 데이터 유형에 관계없이 재사용 가능한 코드를 작성할 수 있는 C++의 강력한 도구입니다. 함수 템플릿은 런타임 다형성(예: 가상 메서드 사용)과 다른 컴파일 시간 다형성을 제공합니다.
Syntax
함수 템플릿은 <>
첨자와 템플릿 매개변수를 사용하여 정의됩니다. 구문은 다음과 같습니다. < >
角标和模板参数定义。语法如下:
template<typename T> returnType functionName(T param1, T param2, ...) { ... }
其中:
template<typename T>
指定模板参数为 T
类型。returnType
是函数的返回值类型。functionName
是函数名称。param1
, param2
, ... 是函数的参数,类型为 T
。示例
我们以一个简单的交换两个元素的函数模板为例:
template<typename T> void swap(T& a, T& b) { T temp = a; a = b; b = temp; }
这个模板可以用于任何数据类型,包括 int、float、string 等。
实战案例
查找最大值
我们可以使用函数模板来编写一个查找数组中的最大值的函数:
template<typename T> T findMax(T* arr, int size) { T max = arr[0]; for (int i = 1; i < size; i++) { if (arr[i] > max) { max = arr[i]; } } return max; }
这个函数模板可以用于查找 int、float、string 等任何类型数组中的最大值。
注意事项
template <typename T where is_arithmetic<T>>
rrreeetemplate<typename T>
는 템플릿 매개변수가 T
유형임을 지정합니다. returnType
은 함수의 반환 값 유형입니다. 🎜🎜functionName
은 함수 이름입니다. 🎜🎜param1
, param2
, ...는 함수의 매개변수이며 유형은 T
입니다. 🎜🎜🎜🎜예🎜🎜🎜두 요소를 교환하는 간단한 함수 템플릿을 예로 들어 보겠습니다. 🎜rrreee🎜이 템플릿은 int, float, string 등을 포함한 모든 데이터 유형에 사용할 수 있습니다. 🎜🎜🎜실용 사례🎜🎜🎜🎜최대값 찾기🎜🎜🎜함수 템플릿을 사용하여 배열에서 최대값을 찾는 함수를 작성할 수 있습니다. 🎜rrreee🎜이 함수 템플릿은 다음과 같은 모든 유형을 찾는 데 사용할 수 있습니다. int, float, string 등. 배열의 최대값입니다. 🎜🎜🎜Notes🎜🎜template <typename T where is_arithmetic<T>>
). 🎜🎜컴파일러 오류가 발생할 수 있으므로 템플릿에서 포인터를 사용하지 마세요. 🎜🎜위 내용은 C++ 함수 템플릿의 구문 및 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!