Dieses Seminar vermittelt zusammen mit dem C++-Grundkurs den gesamten Sprachumfang des aktuellen ISO C++-Standards und die wichtigsten Erweiterungen von Microsoft Visual C++. Dabei stehen Zusammenhänge und Sprachkonzepte im Vordergrund vor Detailinformationen, die man auch in der Online-Hilfe findet.
Die Inhalte können an die Wünsche der Teilnehmer angepasst werden.
|
Zielgruppe: |
Software-Entwickler, die mit Microsoft Visual Studio 2008/2010 in C++ programmieren wollen. |
|
|
Kenntnisse im Umfang des C++ Grundkurses |
|
|
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 zu den Themen Programmierung/Software-Entwicklung für Firmen durch (Referenzen). 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. |
Kontakt: training @ rkaiser . de
, www.rkaiser.de
R. Kaiser, Schwärzlocher Straße 53, 72070 Tübingen, Tel. 07071-41598
Templates sind
Vorlagen, aus denen der Compiler Klassen und Funktionen erzeugt. Die Standard
Template Library (STL) ist eine Bibliothek, die zum C++-Standard gehört und die
auf der Basis von Templates implementiert ist. 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. Da sowohl Templates als auch die STL in der jetzt gültigen
Form erst relativ spät in C++ aufgenommen wurden, sind sie noch nicht sehr
bekannt.
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.
Diese Themen überschneiden sich zum Teil mit denen von Teil 4
"C++/CLI-Erweiterungen und die .NET Klassenbibliothek". Die in diesem
Kurs vorgestellten Techniken sind aber im Gegensatz zu den .NET-spezifischen von Teil 4
plattformübergreifend.
Die Stringklasse string
Stringstreams
Die Container-Klassen vector,
list und deque
Iteratoren
Algorithmen der Standardbibliothek
Die Container-Adapter stack,
queue und priority_queue
Container mit Zeigern
Die Container set und
multiset
Die Container map und multimap
Iteratoren der assoziativen Container
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
Komplexe Zahlen, Valarrays und Slices
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
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
Der Aufrufoperator ()
Prädikate und arithmetische Funktionsobjekte
Binder, Funktionsadapter und Negatoren
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
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
Stand: 1.1.2012