C++ mit Visual Studio 2019 und Windows Forms Anwendungen : C++17 für Studierende und erfahrene Programmierer Windows Programme mit C++ entwickeln C++ hat sich in den letzten Jahren rasant entwickelt: C++11 C++14 C++17 und C++20 haben viele Verbesserungen und neue Möglichkeiten gebracht. Vieles was vor 10 Jahren noch gut und empfehlenswert war kann heute besser und sicherer gemacht werden. Dieses Buch stellt C++ mit Visual Studio 2019 auf dem Stand von Mai 2020 umfassend dar. Das ist nicht nur der Umfang von C++17 sondern auch schon ein Teil von C++20. Es entstand aus zahlreichen Vorlesungen und Firmenseminaren. Dementsprechend richtet es sich einerseits an Studierende die C++ lernen wollen. Der Aufbau die vielen Beispiele und Übungsaufgaben sind erprobt und bewährt. Es eignet sich zum Selbststudium und als Lehrbuch für Vorlesungen an Fachhochschulen und Universitäten. Dieses Buch zeigt aber ebenso professionellen Software Entwicklern mit einer jahre­langen C++ Praxis den aktuellen Stand der Technik. Viele der Spracherweiterungen machen elementare Programmiertechniken einfacher und sicherer. Dazu kommen neue Konzepte die bessere und effizientere Lösun­gen als noch vor einigen Jahren ermöglichen. Das kann unnötigem Aufwand und Fehlern führen die sich leicht vermeiden lassen. Viele dieser neuen Möglichkeiten haben sich in der industriellen Praxis noch nicht etabliert. Dieses Buch erscheint in zwei weitgehend identischen Ausgaben: – In der vorliegenden Ausgabe werden Programme geschrieben in denen alle Ein und Ausgaben über eine Windows Benutzeroberfläche erfolgen. – In der anderen Ausgabe „C++ mit Visual Studio 2019“ werden Programme ohne eine graphische Benutzeroberfläche geschrieben. Alle Ein und Ausgaben erfolgen mit cin und cout über die Konsole. Die Entwicklungsumgebung Steuerelemente für die Benutzeroberfläche Elementare Datentypen und Anweisungen in C und C++ Sie Stringklassen string und wstring Arrays und Container Einfache selbstdefinierte Datentypen Zeiger Strings und dynamisch erzeugte Variablen Überladene Funktionen und Operatoren Objektorientierte Programmierung Namensbereiche Exception Handling Containerklassen der C++ Standardbibliothek Dateibearbeitung mit den Stream Klassen Funktionsobjekte und Lambda Ausdrücke Templates und STL C++11 Smart Pointer: shared_ptr unique_ptr und weak_ptr Literatur Index.