Software-Engineering / Seminare / Effective STL
Seminar, Schulung, Training

[Effective STL] Effective STL - Eine umfassende Einführung in die C++ Standard Template Library

Die Standard Template Library (STL) ist Bestandteil der C++ Standardbibliothek und liefert eine Auswahl von hochoptimierten Containern und Algorithmen für den Einsatz in der industriellen Software-Entwicklung mit C++. Die STL ist auf Effizienz und Performanz ausgerichtet und nutzt aus diesem Grunde das Sprachmittel der Templates intensiv. Für den sicheren Umgang mit der STL ist daher nicht nur ein Verständnis der Container-APIs nötig, sondern es muß die gesamte Architektur und Philosophie der STL inklusive der generischen Programmierung mit C++-Templates verstanden werden.


Termine und Preise hier
Überblick
Zielgruppe und Vorkenntnisse

Das Seminar wendet sich an Software-Entwickler, die die STL einsetzen wollen und vermittelt das notwendige Wissen, um die STL nutzbringend und optimal einzusetzen und typische Fehler von vornherein zu vermeiden.

Vorausgesetzt werden ca. 2-3 Jahre praktische Erfahrung in der Benutzung om C++ und Grundkenntnisse der C++-Templates. Auch Entwickler mit STL-Vorkenntnissen sind willkommen; das Seminar geht sehr in die Tiefe und hat auch so manches Aha-Erlebnis für STL-Kenner zu bieten.

Dauer 3 Tag(e)
Varianten  
Ähnliche Seminare
Grundlegendere Seminare  
Weiterführende Seminare  
Detaillierte Seminarbeschreibung

Die Standard Template Library (STL) ist Bestandteil der C++ Standardbibliothek und liefert eine Auswahl von hochoptimierten Containern und Algorithmen für den Einsatz in der industriellen Software-Entwicklung mit C++. Die STL ist auf Effizienz und Performanz ausgerichtet und nutzt aus diesem Grunde das Sprachmittel der Templates intensiv. Für den sicheren Umgang mit der STL ist daher nicht nur ein Verständnis der Container-APIs nötig, sondern es muß die gesamte Architektur und Philosophie der STL inklusive der generischen Programmierung mit C++-Templates verstanden werden.

Das Seminar erläutert die STL, angefangen von den Grundlagen der Template-Programmierung über sämtliche Container und Algorithmen bis hin zu Funktoren, Iteratoren und Allokatoren. Dabei werden auch die unvermeidlichen Tücken und Fallen besprochen. In praktischen Übungen wird der Umgang mit der STL und den gewöhnungsbedürftigen Compilerfehlermeldungen trainiert.

Bei den Containern und Algorithmen werden insbesondere die Prinzipien ihrer Implementierung besprochen, damit der Seminarteilnehmer später entscheiden kann, welcher Laufzeit- und Speicherplatzverbrauch mit dem Einsatz der verschiedenen Container und Algorithmen verbunden ist.

Darüber hinaus werden die Benutzungsparadigmen der STL demonstriert und erläutert. Die STL ist ein Beispiel generischen Programmierung. Die Benutzung ist deshalb etwas anders als in der objektorientierten Programmierung. Insbesondere für das Erweitern und Anpassen der STL-Komponenten an projektspezifischen Anforderungen muß das Konzept der Generik per Templates verstanden werden.

Inhalte

Übersicht über die STL
Iterator-Konzepte
Iterator-Adaptoren
Stream Iteratoren (Übung)
Vector-Container
Sortieren und Suchen von Elementen (Übung)
Deque-Container
Einfügen von Elementen (Übung)
Funktoren
Erase-Element Prädikator (Übung)
List-Container
Map-Container
Set-Container
Mischen von Element-Sequenzen (Übung)
Directory Lookup (Übung)
Directory Update (Übung)
Austauschen von Containern (Übung)
Comparatoren
Benutzerdefinierte Comparatoren (Übung)
Mischen von sortierten Element-Sequenzen (Übung)
Algorithmen

Qualität
Dozenten

Angelika Langer arbeitet als unabhängige Trainerin mit eigenem Kursprogramm basierend auf ca. 25 Jahren Erfahrung in der Softwareentwicklung, u.a. in C++ und Java. Sie ist Autorin zahlreicher Fachveröffentlichungen zum Thema Java und C++, darunter die Kolumne "Effective Java" im JavaMagazin, das Online Java Generics FAQ, sowie das Buch "Standard C++ IOStreams". Sie ist Referentin auf internationalen Fachkonferenzen im In- und Ausland.

Aktuell liegt ihr Hauptinteresse im Training, Coaching und Mentoring im Bereich der objektorientierten Softwareentwicklung mit C++ und Java.

Ihre Kernkompetenzen liegen in der fortgeschrittenen C++- und Java-Programmierung.

Konzept

Folienpräsentation und ad-hoc Erläuterung am Flip-Chart. Praktische Übungen am Rechner mit anschließenden Lösungsdiskussionen. Folien in Englisch, Vortrag und Diskussionen in Deutsch.

Zusatzunterlagen
Organisatorisches
Durchführung

Der angegebene Preis ist zzgl. MwSt. und enthält Mittagessen, Kaffeepausen und Seminargetränke. Übernachtungskosten und Reisekosten sind im angegebenen Preis nicht enthalten.

Die Seminare beginnen in der Regel Montags um 9:30 Uhr und enden am letzten Tag um 16:00 Uhr, alle übrigen Tage jeweils von 9:00 bis ca. 17:00 Uhr. Genaue Seminarzeiten entnehmen Sie bitte Ihrer Anmeldebestätigung oder erfragen Sie bitte im Sekretariat.

Wiederholungen Dieses Seminar können Sie bis zu zweimal kostenlos wiederholen (siehe AGB).
Seminar, Schulung, Training