Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

C++

Funktionstemplates

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Der Trainer erklärt die Funktionsweise und Verwendung von Funktionstemplates und zeigt deren Verwendung anhand eines Beispiels.

Transkript

Ich möchte Ihnen jetzt zeiegen, was man mit sogenannten Templates machen kann. Wir haben ja schonmal eine Methode gesehen um generische Funktionen zu schreiben und das kann man mit Define machen, da sind die Parameter dann egal, denn es wird praktisch das Define ja als Macro eingestezt und erst zur Übersetzung dann etschieden wie das übersetzt wird mit welchen Datentypen. Es gibt da aber eine wesentlich elegantere Methode wenn man generische Funktionen zum Beispiel definieren möchte , nämlich mit Templates. Und solche Templates sehen wie folgt aus: Ich habe hier erstmal , das kann ich hier ruhig mal trennen, ein Schlüsselwort Template, klar das muss man hier immer schreiben und das ist ein Parameter den man beliebig benennen kann. Im Allgemeinen fängt es mit T an, das hat man so eingeführt damit man Template auch gut unterscheiden kann nachher beim Gebrauch, sonst kommt man ein bisschen durcheinander, denn hier definiere ich jetzt eigentlich den Datentyp und dadrunter kann ich jetzt eine Methode, eine Funktion schreiben , hier mal ein Beispiel für das Vertauschen zweier Objekte und das schreibe ich eben nicht den expliziten Datentyp rein, wie Integer oder Character oder sowas, sondern T1 T1 kann dann irgendas sein, entscheidend ist jetzt hier , wir geben zweimal T1 an, also die beiden Datentypen müssen dann in dem Fall gleich sein, damit es nachher funktioniert. Und jetzt kann ich hier innen natürlich T1 auch verwenden , T1 deklariert und definiert hier die Variable tmp 1 und die verwende ich als Hilfsvariable um die beiden Werte zu vertauschen. Dabei ist jetzt ganz egal was für ein Datentyp da ist, ob das auch wirklich funktioniert hängt dann davon ab wie man das anwendet. Also in unserem Beispeil machen wir das mal hier mal so, das ist relativ easy . Ich habe hier zwei Integer Variablen, ich habe zwei character Variablen und zwei Pointer die auf Strings zeigen und hier rufe ich jedes mal austausch auf. Das Besondere ist, dass der Compiler jetzt erst zur Übersetzungszeit tatsächlich eine Funktion generiert und zwar mit den entsprechenden Datentypen die man hier verwendt. Das genreische Teil vorher wird nicht zur Maschinencode übersetzt, erst wenn man es hier praktisch aufruft mit den Parametern entsteht auch wirklich eine Funktion mit den entsprechenden Parametern. Also hier austausch, dann asutausch für Characters und austausch für Pointer, Das mit dem Pointer funktioniert, wenn ich die Pointer vertausche, vertausche ich natürlich auch den String. Jedenfall in der Darstellung nicht im Speicherplatz . So und jetzt starten wir das Ganze mal und schauen uns das mal an was da passiert. Da kriege ich jetzt einfach 2 -1, B-A und Welt Hallo , statt Hallo Welt, wie Pointer 1 und 2 hier angegeben worden. Also das ist wirklich super elegant, wenn auch nicht ohne Tücke. Es wird gerne verwendet in großen Klassen-Bibliotheken, in der sogenannten STL-Bibliothek zum Beispiel mit vielen Methoden und Definitionen, die ganz generisch geschrieben werden können. Und wenn man immer so ein Fall hat, dass man so eine Art Bibliothek sich schreiben möchte, dann kann man mit Templates also wirklich ganz elegant arbeiten. Also hier haben Sie erstmal gesehen, wie ein ganz einfaches Template aufgebaut ist.

C++

Machen Sie sich mit den einfachen Grundlagen zu C++ vertraut und lernen Sie anhand zahlreicher Übungs- und Codebeispiele die Klassenkonzepte, Prozeduren und Funktionen kennen.

9 Std. 3 min (143 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Video-Training auf DVD mit Bonusmagazin

+ Tutorial to go: Mit Videos für iPod, iPhone & Co.

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!