Instanciation du modèle de fonction
Lorsqu'un modèle de fonction est premier appelé pour chaque type, le compilateur crée une instanciation.Chaque instanciation est une version de la fonction modélisée spécialisée pour le type.cette instanciation sera appelée chaque fois que la fonction est utilisée pour le type.Si vous avez plusieurs instanciations identiques, même dans des modules différents, une seule copie de l'instanciation se terminera dans le fichier exécutable.
Il permet la conversion d'arguments de fonction dans des modèles de fonction pour une paire d'argument et de paramètre où le paramètre ne dépend pas d'un argument template.
Les modèles de fonctions peuvent être explicitement instanciés en déclarant le modèle avec un type particulier comme argument.Par exemple, le code suivant :
// function_template_instantiation.cpp
template<class T> void f(T) { }
// Instantiate f with the explicitly specified template.
// argument 'int'
//
template void f<int> (int);
// Instantiate f with the deduced template argument 'char'.
template void f(char);
int main()
{
}