Video: Vorlagen speichern 2024
Eine Funktionsvorlage ermöglicht es Ihnen, etwas zu schreiben, das wie eine Funktion aussieht, aber einen oder mehrere Typhalter verwendet, die C ++ während der Kompilierung in einen echten Typ konvertiert. Sie sollten sich ein paar Dinge merken, wenn Sie Vorlagen verwenden.
-
Zunächst wird kein Code für eine Vorlage generiert. (Code wird generiert, nachdem die Vorlage in eine konkrete Klasse oder Funktion konvertiert wurde.) Dies impliziert, dass eine.cpp-Quelldatei fast niemals mit einer Klassenvorlage verknüpft.
Die gesamte Klassenvorlagendefinition einschließlich aller Memberfunktionen ist normalerweise in einer Include-Datei enthalten, damit sie für den Compiler verfügbar ist. expand.
-
Zweitens verbraucht eine Klassenvorlage keinen Speicher. Daher gibt es keine Strafe für das Erstellen von Klassenvorlagen, wenn sie nie instanziiert werden. Auf der anderen Seite verwendet eine Klassenvorlage bei jeder Instanzierung Speicher. Code für Array verbraucht Speicher, auch wenn Array bereits vorhanden ist.
-
Schließlich kann eine Klassenvorlage nicht kompiliert und auf Fehler überprüft werden, bis sie in eine echte Klasse konvertiert wird. Daher kann ein Programm, das auf das Klassenvorlagen-Array verweist, kompiliert werden, obwohl Array offensichtliche Syntaxfehler enthält. Die Fehler werden erst angezeigt, wenn eine Klasse wie Array oder Array erstellt wurde.
Das Erstellen einer Funktion aus einer Vorlage wird genannt, wobei die Vorlage instanziiert wird.