This article needs to be updated. Please help update this article to reflect recent events or newly available information. (May 2024) |
C++ language revisions |
---|
C++26 is the informal name for the version of the International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC) 14882 standard for the C++ programming language that follows C++23. The current working draft of this version is N4981.
Features
Changes that have been accepted into C++26 include:
Language
- Unevaluated strings
- Adding
@
,$
, and`
to the basic character set constexpr
cast fromvoid*
- User-generated
static_assert
messages - Placeholder variables with no name
- Pack indexing
- Attributes for structured bindings
- Erroneous behavior for uninitialized reads
= delete("reason");
- Variadic friends
constexpr
placementnew
- Structured binding declaration as a condition
- Ordering of constraints involving fold expressions
- Deleting a pointer to an incomplete type should be ill-formed
- Structured bindings can introduce a pack
- Allowing exception throwing in constant-evaluation
constexpr
structured bindings and references toconstexpr
variables- Oxford variadic comma, i.e. "Deprecate ellipsis parameters without a preceding comma. The syntax
(int...)
is incompatible with C, detrimental to C++, and easily replaceable with(int, ...)
." - Removing deprecated array comparisons
Library
- Hashing support for
std::chrono
value classes std::is_within_lifetime
- Native handles in file streams
- Interfacing string streams with
std::string_view
- Interfacing
std::bitset
withstd::string_view
- More
constexpr
for<cmath>
and<complex>
- Adding the new 2022 SI prefixes on ratios:
std::quecto
,std::ronto
,std::ronna
, andstd::quetta
std::copyable_function
std::submdspan()
<debugging>
: Debugging Support<linalg>
: A free function linear algebra interface based on the BLAS- Added tuple protocol to
std::complex
views::concat
- Concatenation of strings and string views
std::ranges::generate_random
- Printing blank lines with
std::println()
std::formatter<std::filesystem::path>
- Saturation arithmetic with, among others,
std::add_sat
,std::div_sat
External links
References
- "Working Draft, Standard for Programming Language C++" (PDF). Open Standards. ISO/IEC. 2024-04-16.
- "P3176R1: The Oxford variadic comma". eisenwave.github.io. Retrieved 2024-12-09.
C++ | |
---|---|
Features | |
Standard Library | |
Ideas | |
Compilers | |
IDEs | |
Superset languages | |
Dialects | |
Relative to other languages | |
Designer | |
Category |