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

C++ Grundkurs

Was sind Templates?

Testen Sie unsere 2013 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Templates stellen in C++ Schablonen für Klassen oder Funktionen dar. Der Compiler erzeugt daraus eine konkrete Klasse oder Funktion.
03:03

Transkript

In dieser Lektion möchte ich Ihnen Templates vorstellen. Templates sind Schablonen für Klassen oder auch Schablonen für Funktionen, aus denen der Compiler konkrete Klassen oder Funktionen erzeugt. Im ersten Fall nennen sich diese Schablonen Klassen-Templates und im zweiten Fall Funktions-Templates. Sie können sich Klassen-Templates oder Funktions-Templates auch als Familie von Klassen oder Funktionen vorstellen. Diese Familie von Klassen und Funktionen werden dann über Typen parametrisiert, um konkrete Klassen, konkrete Funktionen zu erzeugen. Templates spielen eine wichtige Rolle in der Entwicklung generischer Bibliotheken. Das Standardbeispiel ist die Standard Template Library. Die ist sozusagen das Herz der C++ Standardbibliothek. Da will ich Ihnen auch jetzt ein Beispiel dazu zeigen. Hier habe ich ein paar Klassen-Templates. Wenn Sie sich das hier anschauen, fällt Ihnen auf, dass ist der std::string. Der ist selbst im Klassen-Template, der über den Zeichentyp char parametrisiert ist. Dementsprechend gibt es wstring, u16string und u32string für UTF-16, UTF-32. Nun aber zum konkreten Beispiel. Ich habe einen std::vector von int und einen std:.vector von std::string. Wenn Sie diese eckigen Klammern hier sehen, sehen Sie auch, das sind beides Klassen-Templates. Das ist ein std::vector, der über int parametrisiert ist. Das ist ein std::vector, der über einen string parametrisiert ist. Hier kommt noch das dritte Klassen-Template. In diesem Fall ist es ein std::map von std::string auf std::int. Was ist ein std::map? std::map ist eine Sequenz von Paaren, wobei ich in diesem Fall das erste Element des Paares ein std::string ist. Das zweite Element des Paars ein std::int. Das erste Element wird in der Regel Schlüssel, das zweite Wert genannt. Die zentrale Idee der std::map ist es, dass sie mit einem Schlüssel die Datenstruktur eine Frage stellen, als Antwort den Wert bekommen. Typischer Anwendungsfall ist das Beispiel ein Telefonbuch. Der Key oder der Schlüssel ist in diesem Fall Ihr Familienname. Der Wert oder der Value im Englischen ist in diesem Fall die Telefonnummer. Hier habe ich andere Paare. Der Schlüssel ist der Name eines bekannten C++ Entwicklers. Jetzt gebe ich diese Klassen-Templates aus. Zuerst den Vektor über String ints, dann den Vektor über Strings und zum Schluss die std::map. Das sehen Sie genau hier unten. 1 2 3 4 5 6 7 8 9. Das ist der Vektor über int. Das ist der Vektor über Strings und das ist die std::map. Das ist der Key und das ist der Value. Deutsch: Schlüssel, Wert. In dieser Lektion habe ich Ihnen Templates vorgestellt. Insbesondere bin ich auf zwei Arten von Templates eingegangen. Das sind Klassen-Templates und Funktions-Templates. Klassen-Templates beschreiben Familie von Klassen. Funktions-Templates dementsprechend Familien von Funktionen. Zur konkreten Klassen und Funktionen kommen Sie dadurch, dass Sie das Klassen-Template über einen Typ initialisieren bzw. auch das Funktions-Template über einen Typ initialisieren.

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!