Beiträge von Rainer Grimm

Softwareentwicklung

Die wichtigsten Neuerungen im neuen C++17-Standard finden in den Bibliotheken statt: der leichtgewichtige String-Wrapper "string_view", die parallelisierten Algorithmen der STL, die Dateisystem-Bibliothek oder die praktischen Datentypen "std::optional" und "std::any".

Softwareentwicklung

Der neue Standard C++17 kündigt sich für 2017 an. Er wird zwar einige großartige Features wie eine Bibliothek für das Dateisystem mitbringen, doch andere lang ersehnte Funktionen fehlen wohl weiterhin.

Softwareentwicklung

Die neue Zeitbibliothek von C++11 erweist sich als elementarer Bestandteil der Threading-Schnittstelle: Sowohl Threads, Locks und Bedingungsvariablen als auch Futures haben ein Verständnis von Zeit. Dank ihrer Unterstützung kann ein Entwickler unterschiedliche Wartestrategien verfolgen.

Softwareentwicklung

Die neue Zeitbibliothek ist ein elementarer Baustein nicht nur für die Mulithreading-Fähigkeit von C++. Mit ihrer Hilfe legt der Entwickler einen Thread bis zu einem definierten Zeitpunkt schlafen oder fordert auf gut Glück ein Lock für eine Zeitspanne an.

Softwareentwicklung

C++ besitzt zwar bereits einen reichen Satz an Containern. C++11 erweitert das Portfolio dennoch: Zu den vier neuen assoziativen Containern gesellen sich noch drei sequenzielle.

Softwareentwicklung

Container sind nicht nur bei der Virtualisierung derzeit in aller Munde, auch dem Programmierer sind Behälter für Objekte nützlich. Die Version 11 von C++ enthält einige Algorithmen, die die Arbeit mit solchen Containern deutlich vereinfachen.

Softwareentwicklung

Klein, aber oho: Platziert ein Entwickler drei Punkte ("…") geschickt an der richtigen Stelle im C++-Code, entpacken die so genannten Variadic Templates ihre Argumente an Ort und Stelle.

Softwareentwicklung

Indem er das Zauberwort "constexpr" anwendet, erreicht der Programmierer, dass C++11 seine Ausdrücke bereits beim Kompilieren auswertet. Folgt er dabei den vorgefertigen Beschwörungsritualen, generieren solche konstanten Ausdrücke Performancegewinne.

Softwareentwicklung

C++-Code sicherer machen und zugleich an der Performance-Schraube drehen, das sind die beiden Domänen der neuen Type-Traits-Bibliothek. Sie beschleunigt Code, indem sie Typen zur Kompilierzeit analysiert und verändert, wenn der Entwickler sie geschickt einsetzt.

Softwareentwicklung

Damit sein Code nicht als Bananensoftware beim Kunden reift, setzt der umsichtige C++-Lieferant auf die Funktion static_assert() und die Type-Traits-Bibliothek. Das dynamische Duo stellt Bedingungen an den Quellcode, die der Compiler zur Übersetzungszeit verifiziert.

Softwareentwicklung

C++11 kennt zwei neue Literale: Raw-String- und benutzerdefinierte Literale. Während Raw-String-Literale den Interpreter zum Beispiel davon abbringen, Backslashes in Zeichenketten zu interpretieren, schützen benutzerdefinierte Literale dereinst womöglich Nasa-Sonden vor dem Verglühen.

Softwareentwicklung

Die Usability von C++ als objektorientierte Sprache lebt davon, wie einfach es ist, neue Objekte zu erzeugen. Kein Wunder, dass C++11 gegenüber früheren Versionen diesen Baugrund besser erschlossen hat.

Nach oben