Namespaces
Variants

C++29

From cppreference.com
< cpp

The next generation of the C++ standard.

The current IS schedule for C++29: P1000R8 (2026-04-13).

New language features

New library features

New modules

New headers

Obsolete features

Removed features

Deprecated features

Defect reports

Compiler support

Main Article: C++29 compiler support

C++29 core language features

C++29 feature

 
Paper(s)

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
#embed offset parameter  (FTM)* P3540R3
Contracts for virtual functions  (FTM)* P3097R3
Pack indexing for templates  (FTM)* P3670R4
Designated initializers for base classes  (FTM)* P2287R6
Deallocation functions with throwing exception specification are ill-formed P3424R2
Conditional noexcept specifiers in compound requirements  (FTM)* P3822R2
Defaulting postfix increment and decrement operator functions P3668R4
Adding restrictions to defaulted assignment operator functions P2953R5
DR26: consteval-only values  (FTM)* P4101R1
DR23: Allowing figment and abbreviation in named universal character escapes P3733R1
DR20: Removing mutual exclusivity for coroutine promise return functions  (FTM)* P3950R1
DR: Adjusting identifier following new Unicode recommendations P3658R1
DR: Explicit lambda capture is declared and initialized in lexical order P3847R1 3.1
DR: Allowing C language linkage for templates P2243R0
DR: Clarifying the behavior of floating-point overflow P3899R3
DR: Non-deterministic pointer provenance P2434R5
DR: Resolving pointer lifetime-end zap for atomic and volatile accesses P2414R12
DR: Defining load and store operations for invalid pointers P3347R6
 

C++29 feature
 

Paper(s)
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray

C++29 library features

C++29 feature

 
Paper(s)

 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
Better lookup function for map containers  (FTM)* P3091R6
Pointer tagging  (FTM)* P3125R6
Thread attributes  (FTM)* P2019R9
Hazard pointer batches  (FTM)* P3428R4
Bit permutations  (FTM)*  (FTM)* P3104R6
P3772R2
std::shl and std::shr  (FTM)*  (FTM)* P3793R2
std::mdspan copy and fill operations  (FTM)* P3242R4
std::simd::iota  (FTM)* P3319R6
std::expected::has_error()  (FTM)* P3798R1
view_interface::at()  (FTM)* P3052R2
std::formatter<std::error_code> P3395R6
Fixing the default floating-point representation in std::to_chars  (FTM)* P3505R4
Requiring std::intptr_t and std::uintptr_t P3248R5
Deprecating signed character types in I/O streams P3154R3
DR26: Reverting string literal support in std::constant_wrapper  (FTM)* P4206R0 17
 

C++29 feature
 

Paper(s)
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*

* - hover over a cell marked with the star * to see additional pop-up notes.
DRnn - the number nn after "DR" denotes target C++ revision the Defect Report is applied to, e.g., DR20 → C++20.

External links

1.  C++29 - Wikipedia