Modernes C++: Trauer um unseren Blogautor Rainer GrimmDer C++-Experte, Autor und Trainer Rainer Grimm ist im Oktober verstorben. Damit findet dieser Blog sein trauriges Ende.
Programmiersprache C++26: Sicherheitsverbesserungen in der KernspracheNeben Contracts hat C++26 einige weitere Neuerungen zu bieten, die der Security dienen. Sie verhindern beispielsweise fehlende Initialisierungen.
heise+ JubiläumsspecialSichern Sie sich unser exklusives Aktionsangebot: heise+ 7 Monate für 7 € pro Monat lesen und zusätzlich zu allen Inhalten auf heise online unsere Magazin-Inhalte entdecken. Nur für kurze Zeit!
Contracts in C++26: Evaluations-SemantikIn der Programmiersprache C++ kommt bei einer Contracts Assertion mit C++26 eine von vier Bewertungssemantiken zum Einsatz.
Contracts in C++ 26: Ein tiefer Einblick in die VerträgeEin Contract legt Schnittstellen für Softwarekomponenten präzise und überprüfbar fest. Dieser Vertrag besteht aus einer Reihe von Bedingungen.
Datenparallele Typen in C++26: SIMD-AlgorithmenDie Bibliothek für data-parallel types bringt vier spezielle Algorithmen für SIMD Vektoren: min, max, minmax und clamp.
Datenparallele Typen in C++26: Bedingte Ausführung von OperationenDank std::simd_mask ist es in C++26 möglich, Operationen auf data-parallel types bedingt auszuführen.
Datenparallele Typen in C++26: ein Beispiel aus der PraxisC++26 bekommt Funktionen zum Arbeiten mit datenparallelen Typen (SIMD). Ein Beispiel zeigt den praktischen Einsatz.
Neuerungen in C++26: Datenparallele Datentypen (SIMD)Die SIMD-Bibliothek (Single Instruction, Multiple Data) bietet datenparallele Datentypen sowie die für diese geeigneten Operationen.
Neuerungen in C++26: Read-Copy-UpdateDer Synchronisationsmechanismus Read-Copy-Update hilft bei bestimmten Multithreading-Anwendungen dabei, Lock-Primitive zu vermeiden.
C++: Vorschlag von Oliver Schädlich zu "atomic<shared_ptr<>>" – ein ExperimentEin Leser schlägt als Replik auf den vorherigen Blogbeitrag eine schnelle Variante zur Implementierung von atomic<shared_ptr<>> vor. Aufruf zur Diskussion!
Programmiersprache C++: Hazard Pointers in C++26Hazard Pointers ermöglichen die Garbage Collection in C++ und lösen das ABA-Problem.
Lock-freier Stack: Details zu Implementierung von Hazard Pointers, Teil 2Wie Hazard Pointers bei der Umsetzung eines Lock-freien Stacks helfen, zeigt die Fortsetzung der Implementierung aus dem vorherigen Beitrag.
Lock-freier Stack in C++26: Details zur Implementierung von Hazard PointersHazard Pointers helfen dabei, einen Lock-freien Stack in C++26 umzusetzen. Nach der Implementierung folgen in diesem Beitrag die inhaltlichen Details.
C++ 26: Ein Lock-freier Stack mit Hazard-Pointer-ImplementierungBei der Implementierung des Lock-freien Stacks mit einem Garbage Collector in C++ helfen Hazard Pointers.
Neu in .NET 9.0 [10]: Neue Klasse für lock-Statements in C# 13.0C# 13.0 führt die neue Klasse Lock ein, um Codeblöcke vor dem Zugriff durch weitere Threads zu sperren.
C++26: Ein einfacher Garbage Collector für den Lock-freien StackNach den Grundlagen zum Lock-freien Stack in den letzten Beiträgen ist es nun Zeit, ihn um einen einfachen Garbage Collector zu erweitern.
C++26: Ein Lock-freier Stack mit Atomic Smart PointerDer einfachste Weg, das in einem früheren Beitrag beschriebene Speicherleck zu beheben, ist die Verwendung eines std::shared_ptr.
C++26: Vollständige Implementierung eines Lock-freien StacksDie Implementierung eines Lock-freien Stacks im vorherigen Beitrag unterstützte nur Push-Operationen. Jetzt folgt die vollständige Implementierung.
C++26: Vereinfachte Implementierung eines Lock-freien StacksDie Implementierung von Lock-freien Datenstrukturen zeigt das Konzept für nebenläufige Anwendungen.
Deferred Reclamation in C++26: Read-Copy Update und Hazard PointersFür das Verständnis der Lock-freien Programmierung ist ein wenig Theorie notwendig.
Programmiersprache C++26: Vereinfachter Umgang mit Pointer-AdressenDie Anzeige der Adresse eines beliebigen Zeigers in C++ 20 schlägt fehl, ist aber mit C++26 erfolgreich.
C++26-Bibliothek: Verbesserte Verarbeitung von StringsC++26 bietet viele kleine Ergänzungen rund um Strings und string_view.