Eine Funktionsvorlage verhält sich wie eine reguläre Funktion, außer dass sie mit Typen arbeitet, die in den Vorlagenargumenten angegeben sind. Die Vorlagenargumente könnten Teil der Funktionsargumente und / oder des Funktionskörpers sein. Jede eindeutige Kombination von Vorlagenargumenten wird zu einer eindeutigen Funktion, wenn sie instanziiert wird.
Betrachten Sie den folgenden Code, der eine Funktion mit variablen Argumenten verwendet:
%Vor%
Das Kompilieren mit g ++ 4.7.3 funktioniert einwandfrei, und das Ausführen von 1024.0 ergibt sich wie erwartet.
Beim Kompilieren mit icpc 14...
Im folgenden Code-Snippet
%Vor%
Ich möchte die Templates modifizieren lassen, die durch Übergeben eines anderen Typs als float "all" und passendes float "float" drucken. Ich möchte keine Template-Spezialisierung, sondern partielle Spezialisi...
Beim Versuch, den folgenden Code zu kompilieren, der map s Schlüssel in ein vector kopieren würde:
%Vor%
VS2013 kann nicht unterscheiden, welche get gemeint ist, aber diese einfachere Verwendung funktioniert gut:
%Vor%
Die Angab...
Ich habe eine Klassenvorlage Foo<T> .
Ich möchte eine Nichtmitgliedsfunktion Bar implementieren, die zwei Foo s benötigt und eine Foo zurückgibt. Ich möchte, dass Bar kein Mitglied ist, da es für Anrufer natürlicher ist,...