Home
C++ Seminar: Exception-Handling, Templates
und die STL
In diesem Kurs werden
Templates und die 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. Beim Exception-Handling werden nicht nur die
Sprachelemente, sondern auch die Auswirkungen auf das Programmdesign gezeigt.
Dieser Kurs ist der dritte von drei aufeinander abgestimmten
Kursen, in denen der gesamte Sprachumfang des aktuellen ISO C++-Standards
behandelt wird. 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.
Kontakt: training @ rkaiser . de
, www.rkaiser.de
R. Kaiser, Schwärzlocher Straße 53, 72070 Tübingen, Tel. 07071-41598
Inhalt
Eine Entwicklungsumgebung
Microsoft
Visual C++ 2010 (Konsolenanwendungen), oder
Codegear (früher Borland) C++ Builder
2010 (Konsolenanwendungen), oder
GNU g++ auf der Kommandozeile
Die Stringsklasse
string der C++-Standardbibliothek
- Die Stringklasse string
- Stringstreams
Exception-Handling (Ausnahmebehandlung)
- Die try-Anweisung
- Exception-Handler und Exceptions der Standardbibliothek
- Der Programmablauf bei Exceptions
- throw-Ausdrücke und selbst definierte Exceptions
- Fehler, Exceptions und die Korrektheit von Programmen
- Die Freigabe von Ressourcen bei Exceptions
- Die Klasse shared_ptr
- Exception-Spezifikationen
- Die Funktion terminate
Container der Standardbibliothek
· Sequenzielle Container der Standardbibliothek
- Die Container-Klasse vector
- Algorithmen der Standardbibliothek
- Die Container-Klassen list und deque
- Die Container-Adapter stack, queue und
priority_queue
- Container mit Zeigern
- Die Container-Klasse bitset
- Assoziative Container
- Die Container set und multiset
- Die Container map und multimap
- Iteratoren der assoziativen Container
- 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
- Die numerischen Klassen der Standardbibliothek
- Komplexe Zahlen
- Valarrays und Slices
Separate Kompilation und Namensbereiche
· Projekte
- Bindung
- Deklarationen und Definitionen
- Header-Dateien und Bibliotheken
- Der Aufruf von in C geschriebenen Funktionen
- Namensbereiche
- Die Definition von benannten Namensbereichen
- Die Verwendung von Namen aus Namensbereichen
- Aliasnamen für Namensbereiche
- Unbenannte Namensbereiche
- Module und das Geheimnisprinzip
Templates und die STL
· Generische Funktionen: Funktions-Templates
- Die Deklaration von 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
- Generische Klassen: Klassen-Templates
- Die Deklaration von 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
- Funktionsobjekte in der STL
- Der Aufrufoperator ()
- Prädikate und arithmetische Funktionsobjekte
- Binder, Funktionsadapter und Negatoren
- 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
- Die Algorithmen der STL
- Lineares Suchen
- Zählen
- Der Vergleich von Bereichen
- Suche nach Teilfolgen
- Minimum und Maximum
- Elemente vertauschen
- Kopieren von Bereichen
- Elemente transformieren und ersetzen
- Elementen in einem Bereich Werte zuweisen
- Elemente entfernen
- Die Reihenfolge von Elementen vertauschen
- Permutationen
- Partitionen
- Bereiche sortieren
- Binäres Suchen in sortierten Bereichen
- Mischen von sortierten Bereichen
- Mengenoperationen auf sortierten Bereichen
- Heap-Operationen
- Verallgemeinerte numerische Operationen
Stand:
1.1.2012