"Под капотом" компилятора
Использование шаблона выглядит так: max<int>(a, b)
.
После подстановки компилятор создаст "под капотом" конкретную функцию из обобщённого кода. То, что вызывается по записи max<int>()
, для компилятора выглядит так:
int max<int>(int a, int b) {
return (a >= b ? a : b);
}
Встречая дальше обращения к шаблонной функции с подстановкой в качестве Type
типа int
, компилятор будет использовать эту же сгенерированную из шаблона функцию.