volatile und andere kleine Verbesserungen in C++20

Die Tour durch die C++20-Kernsprache geht nun zu Ende. Eine interessante der kleineren Verbesserungen ist, dass die Semantik von volatile deutlich eingeschränkt wird.

Hier geht es direkt zum Artikel auf Heise Developer: .

Gelesen: 2864

Neue Attribute mit C++20

Mit C++20 erhalten wir die neuen und verbesserten Attribute [[nodiscard("reason")]], [[likely]], [[unlikely]] und [[no_unique_address]]. Insbesondere [[nodiscard("reason")]] erlaubt es, die Intention eines Interfaces deutlicher auf den Punkt zu bringen.

Hier geht's direkt zum Artikel auf Heise Devloper: https://heise.de/-4871578.

Gelesen: 3012

Mehr Lambda-Features mit C++20

Wenn Lambda-Ausdrücke zustandslos sind, besitzen sie einen Default-Konstruktor und einen Copy-Zuweisungsoperator. Darüber hinaus können sie in C++20 in nicht evaluierten Kontexten verwendet werden, und der C++20-Compiler stellt fest, wenn der this-Zeiger implizit kopiert wird. Das heißt, dass eine häufige Ursache von undefinierten Verhalten mit Lambdas der Vergangenheit angehört.

Hier geht's direkt zum Artikel auf Heise Developer: https://heise.de/-4865889.

Tags: Lambdas
Gelesen: 3730

Mächtigere Lambda-Ausdrücke mit C++20

Dank dem C++20-Standard werden Lambda-Ausdrücke mächtiger. Von den vielen Verbesserungen rund um Lambda-Ausdrücke sind Template-Parameter mein Favorit.

Hier geht es direkt zum Artikel auf Heise Developer: https://heise.de/-4860846.

Gelesen: 3445

Verschiedene Template Verbesserungen mit C++20

Zugegeben, ich stelle in dem heutigen Artikel ein paar kleine Verbesserungen zu Templates und zu C++20 im Allgemeinen vor. Obwohl diese Verbesserungen nicht so beeindruckend wirken, wird durch sie C++20 konsistenter und damit auch weniger fehleranfällig, wenn es um das generische Programmieren geht.

Hier geht es direkt zum Artikel auf Heise Developer: https://heise.de/-4852396.

Tags: Templates
Gelesen: 2936

Die Lösung des Static Initialization Order Fiasco mit C++20

Dem Wortlaut der FAQ von isocppp.org folgend, ist das Static Initialization Order Fiasco "a subtle way to crash your program". Die FAQ geht noch weiter: "The static initialization order problem is a very subtle and commonly misunderstood aspect of C++." Genau mit diesem subtilen und missverstandenen Aspekt von C++ befasst sich mein heutiger Artikel.

Hier geht es direkt zum Artikel auf Heise Developer: https://heise.de/-4847039.

Gelesen: 3282

Zwei neue Schlüsselwörter in C++20: consteval und constinit

Mit C++20 erhalten wir zwei neue Schlüsselwörter: consteval und constinit. Das erste erzeugt eine Funktion, die zur Compilezeit ausgeführt wird, das zweite sichert zu, dass eine Variable zur Compilezeit initialisiert wird.

Hier geht es direkt zum Artikel auf Heise Developer: https://heise.de/-4841497.

Gelesen: 3152

C++20: Designated Initializers

Designated Initialization ist eine Erweiterung von Aggregate Initialization und ermöglicht es, die Mitglieder einer Klasse direkt mithilfe ihres Namens zu initialisieren.

Hier geht es direkt zum Artikel auf Heise Developer: .

Gelesen: 3153

C++20: Optimierte Vergleiche mit dem Spaceship Operator

Mit diesem Artikel schließe ich meine Miniserie zum Drei-Weg-Vergleichsoperator mit ein paar subtilen Feinheiten ab. Sie betreffen den durch den Compiler erzeugten Operator == und != sowie das Zusammenspiel der klassischen Vergleichsoperatoren mit dem Drei-Weg-Vergleichsoperator.

Hier geht's direkt zum Artikel auf Heise Developer: .

Tags: Spaceship
Gelesen: 3298

Mentoring

Stay Informed about my Mentoring

 

Rezensionen

Tutorial

Besucher

Heute 564

Gestern 1497

Woche 8107

Monat 32966

Insgesamt 3331878

Aktuell sind 62 Gäste und keine Mitglieder online

Kubik-Rubik Joomla! Extensions

Abonniere den Newsletter (+ pdf Päckchen)

Beiträge-Archiv

Sourcecode

Neuste Kommentare