Neue praktische Funktionen für Container in C++20

Elemente aus einem Container zu entfernen oder einen assoziativen Container zu fragen, ob er ein Element besitzt, war bislang zu kompliziert. Mit C++20 ändert sich das.

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

Gelesen: 94

constexpr std::vector und constexpr std::string in C++20

C++20 erhält einen constexpr std::vector und einen constexpr std::string. Beide Container lassen sich mit den constexpr-Algorithmen der STL zur Compilezeit modifizieren.

Hier geht es direkt zum Artikel auf Heise Developer: .

Gelesen: 214

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

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

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

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

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

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

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

Abonniere den Newsletter (+ pdf Päckchen)

Beiträge-Archiv

Sourcecode

Neuste Kommentare