2025-08 Mailing Available
The 2025-08 mailing of new standards papers is now available.
| WG21 Number | Title | Author | Document Date | Mailing Date | Previous Version | Subgroup |
|---|---|---|---|---|---|---|
| N5013 | Programming Languages - C++ | Thomas Köppe | 2025-08-11 | 2025-08 | All of WG21 | |
| N5014 | Working Draft, Standard for Programming Language C++ | Thomas Köppe | 2025-08-05 | 2025-08 | All of WG21 | |
| N5015 | Editors' Report - Programming Languages - C++ | Thomas Köppe | 2025-08-14 | 2025-08 | All of WG21 | |
| N5019 | Business Plan and Convener's Report: ISO/IEC JTC1/SC22/WG21 (C++) | Herb Sutter | 2025-08-05 | 2025-08 | All of WG21 | |
| P2414R10 | Pointer lifetime-end zap proposed solutions | Paul E. McKenney | 2025-08-08 | 2025-08 | P2414R9 | EWG Evolution,LEWG Library Evolution |
| P2843R3 | Preprocessing is never undefined | Alisdair Meredith | 2025-07-18 | 2025-08 | P2843R2 | CWG Core |
| P3100R4 | Implicit contract assertions | Timur Doumler | 2025-08-13 | 2025-08 | P3100R3 | EWG Evolution |
| P3337R0 | Graph Library: Library Comparisons | Phil Ratzloff | 2025-07-30 | 2025-08 | SG19 Machine Learning | |
| P3347R4 | Invalid/Prospective Pointer Operations | Paul E. McKenney | 2025-08-08 | 2025-08 | P3347R3 | CWG Core |
| P3427R2 | Hazard Pointer Synchronous Reclamation | Maged Michael | 2025-08-11 | 2025-08 | P3427R1 | LEWG Library Evolution |
| P3428R2 | Hazard Pointer Batches | Maged Michael | 2025-08-11 | 2025-08 | P3428R1 | LEWG Library Evolution |
| P3643R1 | std::to_signed and std::to_unsigned | Jan Schultke | 2025-08-13 | 2025-08 | P3643R0 | LEWG Library Evolution |
| P3688R2 | ASCII character utilities | Jan Schultke | 2025-08-14 | 2025-08 | P3688R1 | SG16 Unicode |
| P3692R2 | How to Avoid OOTA Without Really Trying | Paul E. McKenney | 2025-08-08 | 2025-08 | P3692R1 | SG1 Concurrency and Parallelism |
| P3702R1 | Stricter requirements for document submissions (SD-7) | Jan Schultke | 2025-08-14 | 2025-08 | P3702R0 | All of WG21 |
| P3719R1 | std::is_vector_bool_reference | Yuxuan Chen | 2025-08-01 | 2025-08 | P3719R0 | LEWGI SG18: LEWG Incubator,LEWG Library Evolution |
| P3739R2 | Standard Library Hardening - using std::optional | Jarrad J Waterloo | 2025-08-10 | 2025-08 | P3739R1 | LWG Library |
| P3774R1 | Rename std::nontype, and make it broadly useful | Jan Schultke | 2025-08-14 | 2025-08 | P3774R0 | LEWG Library Evolution |
| P3775R0 | Slides for P3774R0 - Rename std::nontype | Jan Schultke | 2025-08-12 | 2025-08 | LEWG Library Evolution | |
| P3779R0 | reserve() and capacity() for flat containers | Nicolai Josuttis | 2025-08-01 | 2025-08 | LEWG Library Evolution,LWG Library | |
| P3790R1 | Pointer lifetime-end zap proposed solutions: Bag-of-bits pointer class | Paul E. McKenney | 2025-08-08 | 2025-08 | P3790R0 | LEWG Library Evolution |
| P3796R1 | Coroutine Task Issues | Dietmar Kühl | 2025-08-15 | 2025-08 | P3796R0 | SG1 Concurrency and Parallelism,LEWG Library Evolution,LWG Library |
| P3798R1 | The unexpected in std::expected | Alex Kremer | 2025-08-12 | 2025-08 | P3798R0 | SG10 Feature Test,LEWG Library Evolution,LWG Library |
| P3806R0 | views::cycle | Hewill Kang | 2025-08-03 | 2025-08 | SG9 Ranges,LEWG Library Evolution,LWG Library | |
| P3809R0 | Should we make std::linalg reductions deduce return types like fold algorithms? | Mark Hoemmen | 2025-08-07 | 2025-08 | LEWG Library Evolution | |
| P3810R0 | hardened memory safety guarantees | Jarrad J Waterloo | 2025-08-14 | 2025-08 | SG23 Safety and Security |

When should a destructor be virtual in C++? In this post, we’ll explore a real-world example from smart pointer implementation to illustrate when virtual destructors are necessary — and when they’re not.
C++26 is bringing a long-awaited feature to the language: compile-time reflection, enabling programs to introspect and manipulate their own structure during compilation. This powerful capability opens the door to eliminating boilerplate, improving performance, and writing more expressive, reusable code with ease.