Session Details


Der Call for Papers ist geöffnet.
Für Session Sumbissions direkt an C4P.

Workshop: Moderne Programmierung mit C++ Templates

Nicolai Josuttis

Jeder C++-Programmierer verwendet Templates: Container wie vector<>, Strings, Algorithmen wie sort() und Iteratoren sind alles Templates (Code-Schablonen). In modernem C++ kommen Type Traits, Smart Pointers oder Funktionen wie emplace() hinzu. Trotzdem ist das Wissen um Templates erstaunlich rar und bei der Verwendung kennt jeder von uns ein gehöriges Maß an Unbehagen. Dieser Workshop geht deshalb durch die wichtigsten Features von C++ Templates und zeigt auf was es heißt, Templates auch in modernen C++ Umgebungen wie Visual Studio 2015 (oder sogar 2017) zu verwenden und worauf man in der Praxis achten muss.

Anmelden

Workshop: Stories of Debugging C++ Applications

Matthias Wedemeyer

Immer mal wieder, gerade auch nach der letzten ADC++, werde ich auf das Thema Debugging und Fehlervermeidung angesprochen. Immer mal wieder hat sich die ADC++ einem Thema aus diesem Bereich gewidmet. Stories of Debugging C++ Applications setzt diese Tradition fort. In diesem Workshop werden anhand von Beispielen und Erfahrungen das Thema Debugging und Fehlervermeidung vom einfachen Breakpoint bis zum Hardcore Releasedebugging alle wesentlichen Aspekte betrachtet. Ein Schwerpunkt ist die Praxisnähe. So werden die verschiedenen Einzelthemen nicht nur theoretisch vorgestellt, sondern mit Beispielen gerade auch aus der täglichen Arbeit veranschaulicht.

Anmelden

C++: Typsicher - Verwenden Sie Templates, um die Lesbarkeit zu verbessern, Tippfehler zu reduzieren und Fehler während der Kompilierung zu erkennen

Andreas Fertig

Templates sind eine gute Möglichkeit, den Compiler Code für Sie erstellen zu lassen. Da Templates zur Kompilierzeit ausgewertet werden, sind sie auch perfekt für eine frühestmögliche Fehlererkennung. Sie können robusteren Code mit ihnen schreiben. Mit Templates können Sie Berechnungen bereits zur Kompilierzeit durchzuführen. Zusammen mit constexpr sind sie ein sehr leistungsfähiges Werkzeug, das jeder in seiner Werkzeugkiste haben sollte. Ich zeige Ihnen verschiedene Beispiele und Anwendungsbereiche für Templates, die zu besserem Code führen. Besser bedeutet entweder besser lesbar, besser wartbar oder Erkennungsfehler so früh wie möglich (außer natürlich, dass Sie der Fehler erst gar nicht tippen). All das unter Berücksichtigung von Geschwindigkeit und Code-Größe.

Advanced Socketprogrammierung mit C++

Matthias Wedemeyer

SOAP und REST als Basis für die Kommunikation von Anwendungen und Diensten sind längst Standard und weit verbreitet, aber sie bringen auch Nachteile mit sich wie zum Beispiel eine hohe Payload oder Performanceeinbußen bei Massenverarbeiten. Die Verwendung von Sockets hingegen bietet die Möglichkeit, den Datenaustausch so zu optimieren, wie er für die jeweiligen Anforderung benötigt wird. Diese Session zeigt auf der einen Seite, wie eine Kommunikation unter Verwendung von Sockets aufgebaut wird und widmet sich auf der anderen Seite den Themen Stabilität, Massenzugriffen und Sicherheit. Lernen Sie, stabile Socketserver zu implementieren und welche Möglichkeiten das Socketinterface von Windows bietet, damit diese Kommunikation auch sicher ist.