C++ Aufbaukurs

C++ Aufbaukurs  mit VS 2015

Die C++-Standardbibliothek (STL) und Templates

Dieses Seminar vermittelt zusammen mit dem C++-Grundkurs die wichtigsten Sprach­elemente des aktuellen C++11-Standards. Es unterscheidet sich von den meisten anderen C++-Kursen dadurch, dass die Sprachelemente von C++11 konsequent eingesetzt werden. Es richtet sich an Software-Entwickler in Firmen, die C++ und die neuen C++11 Sprachelemente für den professionellen Einsatz lernen wollen.

Inhalt

Die Inhalte können an die Wünsche der Teilnehmer angepasst werden.

Templates sind Vorlagen, aus denen der Compiler Klassen und Funktionen erzeugt. Die C++ Standardbibliothek ist weitgehend auf der Basis von Templates implementiert und wird deshalb auch als Standard Template Library (STL) bezeichnet. Sie enthält viele Algorithmen und Datenstrukturen, die eine einfache Lösung häufig auftretender Programmieraufgaben ermöglichen. Aufgrund ihrer speziellen Architektur ist sie vielseitiger, leistungsfähiger, sicherer und einfacher zu benutzen als viele andere Bibliotheken.

In diesem Kurs werden Templates und die C++-Standardbibliothek (STL) vorgestellt. Dabei werden die Vorteile der STL-Klassen gegenüber den entsprechenden konventionellen Sprachelementen gezeigt (z.B. Stringklassen – nullterminierte Strings, Containerklassen – Arrays, Streamklassen – stdio-Funktionen). Außerdem wird gezeigt, wie die STL, ihre Container und ihre Algorithmen aufgebaut sind und wie man die STL um eigene Algorithmen erweitern kann.

1. Die Stringklasse string der C++-Standardbibliothek

Die Stringklasse string
Stringstreams

2. Container der Standardbibliothek

2.1 Sequenzielle Container

Die Container-Klassen vector, list und deque
Iteratoren
Algorithmen der Standardbibliothek
Die Container-Adapter stack, queue und priority_queue
Container mit Zeigern

2.2 Assoziative Container

Die Container set und multiset
Die Container map und multimap
Iteratoren der assoziativen Container

2.3 Streams und Dateien

Stream-Variablen, ihre Verbindung mit Dateien und ihr Zustand
Fehler und der Zustand von Stream-Variablen
Lesen und Schreiben von Binärdaten mit read und write
Lesen und Schreiben von Daten mit den Operatoren << und >>
Manipulatoren und Funktionen zur Formatierung von Texten
Dateibearbeitung im Direktzugriff

2.4 Die numerischen Klassen der Standardbibliothek

Komplexe Zahlen, Valarrays und Slices

3. Templates und die STL

3.1 Generische Funktionen: Funktions-Templates

Funktions-Templates mit Typ-Parametern
Spezialisierungen von Funktions-Templates
Funktions-Templates mit Nicht-Typ-Parametern
Explizit instanziierte Funktions-Templates
Explizit spezialisierte und überladene Templates
Rekursive Funktions-Templates

3.2 Generische Klassen: Klassen-Templates

Klassen-Templates mit Typ-Parametern
Spezialisierungen von Klassen-Templates
Templates mit Nicht-Typ-Parametern
Explizit instanziierte Klassen-Templates
Partielle und vollständige Spezialisierungen
Elemente und friend-Funktionen von Klassen-Templates
Ableitungen von Templates
Exportierte Templates

3.3 Funktionsobjekte in der STL

Der Aufrufoperator ()
Prädikate und arithmetische Funktionsobjekte
Binder, Funktionsadapter und Negatoren

3.4 Iteratoren und die STL-Algorithmen

Die verschiedenen Arten von Iteratoren
Umkehriteratoren
Einfügefunktionen und Einfügeiteratoren
Stream-Iteratoren
Container-Konstruktoren mit Iteratoren
STL-Algorithmen für alle Elemente eines Containers

3.5 Die Algorithmen der STL

Lineares Suchen und Zählen
Suche nach Teilfolgen
Minimum und Maximum
Elemente vertauschen
Kopieren von Bereichen
Elemente transformieren, ersetzen und entfernen
Partitionen und Sortieren
Binäres Suchen in sortierten Bereichen
Mischen von sortierten Bereichen
Mengenoperationen auf sortierten Bereichen

Organisatorisches:

Zielgruppe: Software-Entwickler, die mit Microsoft Visual Studio 2015 in C++ programmieren wollen.

Voraussetzungen: C++-Kenntnisse im Umfang des C++-Grundkurses.

Methodik: Vortrag mit vielen Übungen, in denen die Teilnehmer praxisnahe Programme entwickeln.

Manuskript: Ausführliche und detaillierte Schulungsunterlagen (ca. 200 Seiten)

Ort und Zeit: Dieses Seminar wird als Firmenseminar (inhouse) angeboten.

Dauer: 5 Tage

Dozent: Prof. Richard Kaiser führt seit vielen Jahren Seminare für Firmen durch, vor allem über Software-Entwicklung und die Programmiersprachen C#/C++/C. Er ist der Verfasser der Bücher „C++ mit Microsoft Visual C++ 2008“ und „C++ mit dem Borland C++Builder“ und ist Mitglied im DIN Normierungsausschuss Informationstechnik NI-22.

Weitere Seminare von Prof. Kaiser finden Sie bei der Technischen Akademie Esslingen.

Beurteilungen der Seminare durch die Teilnehmer finden Sie hier.

Kontakt: Richard Kaiser, Schwärzlocher Straße 53, 72070 Tübingen, .img, .img@.img