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: 3708

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: 3429

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: 2919

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: 3264

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: 3134

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: 3137

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: 3280

C++20: Mehr Details zum Spaceship Operator

Der Compiler führt beim Erzeugen der sechs Vergleichsoperatoren einen sehr smarten Job aus. Letztlich erzeugt er gratis intuitive und effiziente Vergleichsoperatoren. Eine genauere Betrachtung des Spaceship Operator.

Hier geht es direkt zum Artikel auf Heise Devloper: .

Tags: Spaceship
Gelesen: 3387

C++20: Der Drei-Weg-Vergleichsoperator

Der Drei-Weg-Vergleichsoperator <=> wird auch gerne Spaceship Operator genannt. Er lässt sich direkt definieren oder vom Compiler automatisch erzeugen.

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

Tags: Spaceship
Gelesen: 3353

Mentoring

Stay Informed about my Mentoring

 

Rezensionen

Tutorial

Besucher

Heute 900

Gestern 1427

Woche 4903

Monat 20845

Insgesamt 3319757

Aktuell sind 35 Gäste und keine Mitglieder online

Kubik-Rubik Joomla! Extensions

Abonniere den Newsletter (+ pdf Päckchen)

Beiträge-Archiv

Sourcecode

Neuste Kommentare