Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

C++ Grundkurs

Was sind Template-Parameter?

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
C++ unterstützt drei unterschiedliche Arten von Template-Parametern. Das sind Typen, Nichttypen sowie Templates.
02:23

Transkript

In dieser Lektion möchte ich Ihnen Template-Parameter in C++ vorstellen. C++ unterstützt drei verschiedene Arten von Template-Parametern. Typ-Parameter, Nichttyp-Parameter und Templates selber. Nun zum Ersten. Typ-Parameter heißt, Sie können ein Template über einen Typ parametrisieren. Das ist der 90%-Fall. Hier instanziiere ich einen Vektor vom Typ int und gebe ihm die Werte 1, 2, 3, 4, 5. Im zweiten Fall verwende ich einen Typ-Parameter, das int und einen Nichttyp-Parameter, die Zahl 5. Das verwende ich so, dass ich ein std::array vom Typ int der Länge 5 instanziiere und dann auch wieder mit den Werten 1, 2, 3, 4, 5 initialisiere. Zum Schluss kommt der anspruchsvollste Fall. Wenn ich in diesem Fall ein Klassen-Template über Templates selbst parametrisiere. Also das Template ist der Template-Parameter. Schauen Sie sich das Klassen-Template hier genau an. Class Matrix benötigt einen Typ-Parameter T und ein zweites Template-Parameter. In diesem Fall heißt er Cont. Cont ist ein Container im konkreten Fall. Der Container benötigt zwei Template-Parameter. Ich muss diesen Template-Parameter hier aber keinen Namen geben, da ich sie im Körper des Klassen-Templates nicht benötige. Hier sehen Sie, wie ich Matrix instanziiere. Ich gebe den Typ an, das int, matched auf das T hier und ich gebe den Container an, in diesem Fall std::vector. Das ist mein konkreter Container, den ich benötige, um die Elemente der Matrix zu halten. std::vector ist ein Klassen-Template der Standard Template Library. Um das zu verwenden, benötige ich zwei Typen. Als erstes benötige ich den Typ der Elemente, die std::vector halten soll. Also wie hier oben z.B. int oder ein double oder ein string. Als zweites benötige ich den sogenannten typspezifischen Allocator. Das heißt, die Funktion, die mir Speicher für std::vector besorgt. Das ist der Grund, wieso ich hier einen zweiten Template-Parameter für Cont benötige. Zum Schluss noch eine besondere Variation. Mit Variadic-Templates erlaubt C++, Templates mit beliebig vielen Template-Parametern zu definieren. In dieser Lektion habe ich Ihnen einen Überblick über Template-Parameter gegeben. Es gibt drei verschiedene Arten von Template-Parametern: Typen, Nichttypen und Templates selber.

C++ Grundkurs

Steigen Sie in die mächtige Programmiersprache C++ ein und lernen Sie dabei alle wichtigen Funktionen mit Anwendungsbeispielen kennen.

8 Std. 14 min (147 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!