C++20: Geschützter Zugriff auf Sequenzen von Objekten mit std::span

In meinen Seminaren gibt es häufig die Diskussion: Wie kann ein einfaches Array an eine Funktion übergeben werden? Mit C++20 ist die Antwort ganz einfach: Verwende den Container std::span.

Hier geht es direkt zum Artikel auf Heise Devloper:

Gelesen: 139

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

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

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, C++20
Gelesen: 394

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

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.

Gelesen: 427

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

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.

Tags: C++20
Gelesen: 445

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

Abonniere den Newsletter (+ pdf Päckchen)

Beiträge-Archiv

Sourcecode

Neuste Kommentare