C++ 템플릿 함수 작성 단계: 꺾쇠 괄호 로 묶인 템플릿 매개변수를 선언하세요. 호출되면 컴파일러는 매개변수 유형을 추론합니다. 여러 템플릿 매개변수를 사용할 수 있습니다. 실제 사례: 서로 다른 유형의 값을 비교하는 함수 작성.
C++ 템플릿 함수는 다양한 데이터 유형에서 작동하는 재사용 가능한 코드를 작성할 수 있는 강력한 도구입니다. 다음은 C++ 템플릿 함수 작성에 대한 단계별 가이드입니다.
1. 구문
템플릿 함수는 꺾쇠괄호 로 묶인 템플릿 매개변수를 사용하여 선언됩니다. 함수는 다음과 같이 선언됩니다.
template<typename T> T max(T a, T b) { if (a > b) { return a; } else { return b; } }
<typename t></typename>
는 템플릿 매개변수입니다. 이는 함수가 그 뒤에 오는 모든 데이터 유형에 적용 가능함을 의미합니다. <typename t></typename>
是模板参数,它表示函数将适用于其后跟的任何数据类型。
2. 类型推断
调用模板函数时,编译器将推断模板参数的类型。例如,如果调用:
int max_value = max(10, 20);
编译器将推断 <t></t>
为 int
,因此调用类似于:
int max(int a, int b) { // ... }
3. 多个模板参数
模板函数可以有多个模板参数。例如,您可以编写一个两个模板参数的 max
2. 유형 추론
템플릿 함수를 호출할 때 컴파일러는 템플릿 매개변수의 유형을 추론합니다. 예를 들어,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></t>
를 int
로 추론하므로 호출은 다음과 같습니다. template<typename T> bool is_greater(T a, T b) { return a > b; }
3. 다중 템플릿 매개변수
템플릿 함수는 여러 템플릿 매개변수를 가질 수 있습니다. 예를 들어 두 개의 템플릿 매개변수를 사용하여max
함수를 작성할 수 있습니다. bool is_greater_int = is_greater(10, 20); // true bool is_greater_float = is_greater(1.5f, 2.5f); // true🎜실제 예: 다양한 유형의 값 비교🎜🎜🎜다음 시나리오를 고려해보세요. 값을 비교하는 함수가 있습니다. 정수 및 부동 소수점 숫자와 같은 다양한 유형의 숫자입니다. 이를 위해 템플릿 함수를 작성할 수 있습니다: 🎜rrreee🎜 이 함수는 비교 가능한 모든 데이터 유형에 작동합니다. 다음과 같이 호출할 수 있습니다. 🎜rrreee🎜🎜Conclusion🎜🎜🎜다음 단계를 따르면 C++ 템플릿 함수를 쉽게 작성할 수 있습니다. 이를 통해 데이터 유형에 관계없이 재사용 가능하고 다양한 코드를 작성할 수 있습니다. 🎜
위 내용은 C++ 템플릿 함수를 작성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!