Funktionsvorlagen-Instanziierung

Wenn eine Funktionsvorlage zuerst für jeden Typ aufgerufen wird, erstellt der Compiler eine Instanziierung.Jede Instanziierung ist eine Version der auf Vorlagen basierende Funktion, die speziell für den Typ.Diese Instanziierung wird jedes Mal aufgerufen, wenn das Feature für den Typ verwendet wird.Wenn Sie mehrere identische Instanziierungen, sogar in verschiedenen Modulen verfügen, wird nur eine Kopie der Instanziierung oben in der ausführbaren Datei beendet.

Konvertierung von Funktionsargumenten Funktion wird in den Vorlagen für alle Argument- und paare Parameter zulässig, in denen der Parameter kein Vorlagenargument abhängt.

Vorlagen Funktionen können explizit instanziiert werden, indem die Vorlage mit einem bestimmten Typ als Argument deklariert.Im folgenden Code wird beispielsweise zulässig:

// 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()
{
}

Siehe auch

Referenz

Funktionsvorlagen