Tag
C++26 failed its ISO DIS ballot—the first C++ draft ever to do so—with contracts, reflection, std::execution, and library hardening left unapproved, garnering 12 of 20 favorable votes and 9 negative votes.
A Lobste.rs discussion of composite objects and the proposed std::polymorphic type coming in the C++26 standard, exploring how it enables type-erased polymorphism without inheritance.
C++26 introduces a new <debugging> header with std::breakpoint(), std::is_debugger_present(), and std::breakpoint_if_debugging(), standardized via papers P2546R5 and P2810R4 to replace platform-specific debugging macros.
An introductory tutorial on the C++26 contracts feature (P2900), showing how preconditions and postconditions replace traditional assert-based checks, along with compiler options, evaluation semantics, and common pitfalls.
C++26 introduces std::indirect, a vocabulary type providing value-like semantics and const propagation for heap-allocated objects, offering a safer alternative to std::unique_ptr for class members.
C++26 introduces the #embed preprocessor directive, allowing binary files to be embedded directly at compile time without external tools, simplifying resource inclusion in C++ programs.
C++26 introduces changes to reduce undefined behavior, notably making it ill-formed to delete a pointer to an incomplete type, improving program safety.
Technical analysis of the interconversion between std::function and std::copyable_function in C++26, discussing implementation approaches and performance trade-offs, with specific note that libstdc++ currently uses a less optimal approach.
Explains the PImpl idiom in C++ and how the upcoming C++26 std::indirect type simplifies its implementation, reducing boilerplate and manual memory management.
The article criticizes the new std::simd library in C++26, arguing it is slower than scalar loops, compiles slowly, and is outperformed by auto-vectorizers and alternative libraries like Google Highway, questioning its value after a decade-long standardization process.