1
추론
인자에서 T를 결정할 수 있는가?
함수 템플릿은 복사 붙여넣기를 줄이는 문법이 아니라, 컴파일러에게 타입별 함수를 만들 규칙을 주는 정의입니다.
template <typename T>
T max(T a, T b) {
return (a > b) ? a : b;
}
여기서 T는 아직 정해지지 않은 타입 자리입니다.
| 호출 | T | 생성 함수 | 결과 |
|---|---|---|---|
max(10, 20) |
int |
int max(int,int) |
20 |
max(3.14, 2.71) |
double |
double max(double,double) |
3.14 |
max('A', 'Z') |
char |
char max(char,char) |
char 'Z' |
인자에서 T를 결정할 수 있는가?
a > b를 그 타입이 지원하는가?
더 정확한 일반 함수나 다른 오버로드가 있지는 않은가?