Namespaces
Variants

C++23

Von de.cppreference.net

Die aktuelle Revision des C++-Standards.

Neue Sprachfunktionen

void f(int& x)
{
if (x)
goto END;
x = 42;
END:
}
  • Alias-Deklarationen (using) in Init-Anweisungen (P2360R0), z.B.
for (using T = int; T e : v)
/* ... */

Neue Bibliotheksfunktionen

Neue Module

Neue Header

C-Kompatibilitätsheader:

Bibliotheksfunktionen

Allgemeine Dienstprogramme
  • std::expected : ein neuer Vokabelltyp zur Rückgabe des Ergebnisses einer Funktion (<expected>) (P0323R12, P2549R1)
  • std::move_only_function : ein nur-verschiebbarer Callable-Wrapper (P0288R9)
  • std::bind_back : ein Call-Wrapper (P2387R3)
  • std::byteswap : kehrt die Bytes um (P1272R4)
  • std::forward_like (P2445R1)
  • std::invoke_r : ruft ein Callable-Objekt auf (P2136R3)
  • std::to_underlying : eine Dienstprogrammfunktion zum Abrufen des zugrunde liegenden Werts von enum (P1682R3)
  • std::unreachable : eine Funktion, um unerreichbaren Code zu markieren (P0627R6)
  • Monadische Operationen (transform, or_else und and_then) für std::optional (P0798R8) und std::expected (P2505R5)
  • std::tuple ist mit anderen tuple-ähnlichen Objekten kompatibel (P2165R4)
  • Hinzufügen von Standardargumenten für den Weiterleitungskonstruktor von std::pair (P2718R0)
  • std::basic_common_reference -Spezialisierung für std::reference_wrapper, die Referenztypen liefert (P2655R3)
Koroutinen-Bibliothek
Diagnose
Algorithmen, Iteratoren und Bereiche
  • Neue Bereichsadapter:
  • ranges::range_adaptor_closure : ein Helfer für programmdefinierte Bereichsadapter-Abschlüsse (P2387R3)
  • ranges::to : eine Bereichskonvertierungsfunktion (P1206R7)
  • Neue eingeschränkte Bereichsalgorithmen:
    • ranges::starts_with und ranges::ends_with (P1659R3)
    • ranges::contains und ranges::contains_subrange (P2302R4)
    • ranges::find_last , ranges::find_last_if und ranges::find_last_if_not (P1223R5)
    • ranges::iota , ranges::shift_left und ranges::shift_right: bereichifizierte Versionen von nicht eingeschränkten Algorithmen (P2440R1)
    • ranges::fold_left usw.: Bereichs-Faltalgorithmen (P2322R6)
  • Berichtigung von konstanten Iteratoren, Sentinelwerten und Bereichen, d.h. ranges::cbegin und andere ähnliche Dienstprogramme, die konstante Iteratoren zurückgeben, sollten vollständig garantiert sein, selbst für flache const-Ansichten (wie std::span) (P2278R4)
  • Explizitmachen von Multi-Param-Konstruktoren einiger Ansichten (P2711R1)
  • Bereichsiteratoren als Eingaben für Nicht-Bereichsalgorithmen (P2408R5)
  • Lockerung von Bereichsadaptern, um nur-verschiebbare Typen zuzulassen (P2494R2)
Container
  • std::mdspan : eine nicht-besitzende mehrdimensionale Array-Referenz (P0009R18, P2599R2, P2604R0, P2613R1, P2763R1)
  • Konstruierbarkeit und Zuweisbarkeit von Containern aus anderen kompatiblen Bereichen (P1206R7)
  • std::flat_set , std::flat_multiset (P1222R4), std::flat_map, std::flat_multimap (P0429R9): flache Sets und flache Maps – Containeradapter, die zugrunde liegende sortierte Direktzugriffscontainer umschließen
  • Zulassen der Iteratorpaar-Konstruktion in std::stack und std::queue (P1425R4)
  • Heterogene Löschüberladungen für assoziative Container (P2077R2)
  • Nicht-Deduktionskontext für Allokatoren in Container-Deduktionsleitfäden (P1518R2)
  • Anforderung, dass std::span und std::basic_string_view trivial kopierbar sind (P2251R1)
Kompilzeit-Unterstützung
Speicherverwaltung
  • std::out_ptr und std::inout_ptr: Smart-Pointer-Adapter für C-Interoperabilität (P1132R7)
  • std::allocate_at_least und std::allocator::allocate_at_least (P0401R6)
  • std::start_lifetime_as : eine explizite Lebensdauerverwaltungsfunktion für implizite Lebensdauertypen (P2590R2)
  • Verbot der Benutzerspezialisierung von std::allocator_traits (P2652R2)
Zeichenketten- und Textverarbeitung
  • Neue Memberfunktionen und Änderungen an Zeichenkettentypen:
    • std::basic_string::contains und std::basic_string_view::contains (P1679R3)
    • Deaktivierung der Konstruktion aus nullptr für std::basic_string und std::basic_string_view (P2166R1)
    • Expliziter Bereichskonstruktor für std::basic_string_view (P1989R2)
    • std::basic_string::resize_and_overwrite (P1072R10)
    • Rvalue-Referenz-Überladung von std::basic_string::substr zum effizienten Slicing (P2438R2)
  • Formatierung von Bereichen, Tupeln, escaped Darstellung von Zeichen und Zeichenketten, std::thread::id und stacktraces. (P2286R8) (P2585R1) (P2693R1)
I/O und Drucken
  • Formatierte Ausgabefunktionen std::print und std::println bereitgestellt im Header <print> (P2093R14)
  • spanstream Bibliothek (std::span-basierter Zeichenkettenstrom) bereitgestellt im Header <spanstream> (P0448R4)
  • Unterstützung des exklusiven Modus in std::fstreams (P2467R1)
  • Unterstützung des Druckens von volatile T*: std::basic_ostream::operator<<(const volatile void*) (P1147R1)

Veraltete Funktionen

Entfernte Funktionen
  • Garbage Collection-Unterstützung und erreichbarkeitsbasierte Lecksuche. (P2186R2)
  • Gemischte breite Zeichenkettenliterale Verkettung-Unterstützung, z.B. const auto* no = u"q" U"p" ist fehlerhaft. (P2201R1)
  • Nicht-kodierbare breite Zeichenliterale und Multizeichen-breite Zeichenliterale, z.B. wchar_t x = 'db' ist fehlerhaft. (P2362R3)
Veraltete Funktionen (deprecated)
  • std::aligned_storage und std::aligned_union (P1413R3)
  • std::numeric_limits::has_denorm (P2614R2)
Rückgängig gemachte Veraltungen
  • Der operator, (Komma-Operator) in Indexausdrücken (aber die Semantik wurde geändert, um überladbare mehrdimensionale Index operator[] zu unterstützen).
  • Einige C-Header (die entsprechenden <*.h>-Header für Kompatibilität mit C) (P2340R1)

Fehlerberichte (Defect Reports)

Compiler-Unterstützung

Hauptartikel: C++23 Compiler-Unterstützung

C++23-Kernsprachfunktionen

C++23-Funktion

 
Papier(e)

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ehemals PGI)*
Nvidia nvcc
Cray
Literal-Suffix für (signed) size_t  (FTM)* P0330R8 11 13 19.43* 13.1.6* 6.5 2022.2 23.9
Mach () optionaler für Lambdas P1102R2 11 13 19.44* 13.1.6* 6.3 2022.2 22.5
if consteval  (FTM)* P1938R3 12 14 19.44* 14.0.0* 6.3 2022.2 24.1
Entfernung der Garbage Collection-Unterstützung P2186R2 12 N/A 19.30* N/A N/A
Verengende kontextuelle Konvertierungen in static_assert und constexpr if P1401R5 9 13 (teilweise)*
14
19.44* 14.0.0* 2022.2 20.7
Trimmung von Leerzeichen vor Zeilenverknüpfung P2223R2 Ja Ja 19.50* Ja 6.7 2022.2 Ja
Deklarationsreihenfolge-Layout als verbindlich festlegen P1847R4 Ja Ja 19.30* Ja 2022.2 Ja
Entfernung der gemischten breiten Zeichenkettenliteral-Verkettung P2201R1 Ja Ja 19.44* Ja Ja Ja Ja
Explizite Objekt-Memberfunktionen (deducing this)  (FTM)* P0847R7 14 18
19*
19.32*
(teilweise)*
19.43*
6.3 22.5
auto(x) und auto{x}  (FTM)* P0849R8 12 15 19.50* 14.0.3* 6.4 2022.2 23.3
#elifdef und #elifndef P2334R1 12 13 19.40* 13.1.6* 6.5 2022.2 23.9
Nicht-literal-Variablen (und Marken und gotos) in constexpr-Funktionen  (FTM)* P2242R3 12 15 19.43* 14.0.3* 6.3 2022.2 22.5
Einheitliche Zeichenliteral-Kodierung P2316R2 Ja Ja 19.30* Ja Ja 2022.2 Ja
Zeichensätze und Kodierungen P2314R4 10 Ja 19.51* Ja Ja 2022.2 Ja
Erweitern der Init-Anweisung (von for-Schleife) um Alias-Deklaration zu erlauben P2360R0 12 14 19.50* 14.0.0*
Mehrdimensionaler Index-Operator  (FTM)* P2128R6 12 15 19.42* 14.0.3* Attribute auf
LambdasP2173R1 9 13 19.44* 13.1.6* 6.6 2022.2 22.5 P2437R1
#warning Ja* Ja 19.50* 15.0.0* 6.5 2023.2 Ja Entfernen nicht-kodierbarer breiter Zeichenliterale und Multizeichen-breiter Zeichenliterale
P2362R3 13 14 19.51* 15.0.0* 6.7 2023.2 Marken am Ende von zusammengesetzten Anweisungen
P2324R2 13 16 19.51* 16.0.0* 6.5 2023.2 23.9 Begrenzte Escape-Sequenzen
P2290R3 13 15 19.50* 15.0.0* 6.7 2023.2 Benannte universelle Zeichen-Escape-Sequenzen
( FTM)*P2071R2 13 15 19.51* 15.0.0* 6.7 2023.2 Lockerung einiger
-Einschränkungenconstexpr ( FTM)*P2448R2 13 17 (teilweise) 19
19.51*
2024.0 (teilweise) Vereinfachte implizite Verschiebung
( FTM)*P2266R3 13 13 19.50* 6.7 2022.2 (
static operator() FTM)*P1169R4 13 16 19.44* 16.0.0* 6.7 2023.2 Anforderungen für optionale
erweiterte GleitkommatypenP1467R9 13 N/A 6.4 Klassentemplate-Argumentdeduktion von geerbten Konstruktoren
P2582R1 14 19.51* Attribut
P1774R8[[assume]] 13 19 19.51* Unterstützung für
UTF-8 als portable Quellcodedatei-KodierungP2295R6 13* 15* 19.0 (Update 2)* *15.0.0* 2023.2 (
static operator[] FTM)*P2589R1 13 16 19.44* 16.0.0* 6.7 2023.2 Zulassen von
-Variablen in static constexpr-Funktionenconstexpr ( FTM)*P2647R1 13 16 19.51* 16.0.0* 2023.2 Verlängerung der Lebensdauer von Temporären im Initialisierer von bereichsbasierten for-Schleifen
( FTM)*P2644R1 P2718R0
CWG2659
15
19 19.51* DR11: Änderung des Geltungsbereichs des
Lambda-Nach-Rückgabetyps P2036R3 P2579R0
16
17 19.50* 2023.2 DR20: Sinnvolle Exporte
P2615R1 15 17 (teilweise) 19.28 (16.8)* DR20:
muss nach oben propagierenconsteval ( FTM)*P2564R3 14 17 19.52* 16.0.0* 6.7 2024.0 DR98: C++-Bezeichnersyntax mittels Unicode Standard Annex 31
P1949R7 12 14 19.50* 14.0.0* 6.4 2022.2 DR11: Erlauben von doppelten
AttributenP2156R1 11 13 19.50* 13.1.6* 6.5 23.9 DR20: Anpassen des Werts des Feature-Test-Makros
P2493R0__cpp_concepts 12 19.50* 6.4 23.3 DR98:
Lockerung der Anforderungen an , um bestehenden Praktiken zu entsprechen wchar_tP2460R2 Ja Ja 19.44* 15.0.0* N/A 2023.2 DR11: Verwendung unbekannter Zeiger und Referenzen in konstanten Ausdrücken
P2280R4 14 20 *19.50* DR20: Der Gleichheitsoperator, den Sie suchen
P2468R2 13 16 19.36* 16.0.0* 2023.2 DR20:
-Kompatibilitäts- und Portabilitätskorrekturchar8_t ( FTM)*P2513R4 13 16 19.34* 16.0.0* 2023.2 DR98/11: Klarstellung der Meldung von
Diagnosedirektiven und Erlauben von von nicht-wertabhängigen Ausdrücken in einem Template-Kontext static_assertCWG2518 13 17 16.0* (teilweise)*
19.40*
C++23-Funktion
 

Papier(e)
 

GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ehemals PGI)*
Nvidia nvcc
Cray
C++23-Bibliotheksfunktionen

C++23-Funktion

Papier(e)

 
GCC libstdc++

 
Clang libc++
MSVC STL
Apple Clang*
Stacktrace-Bibliothek
( FTM)*P0881R7 P2301R1
12 (teilweise)*
14*
19.34*
stdatomic.h
< (> FTM)*P0943R6 12 15 19.31* 14.0.3* std::is_scoped_enum
( FTM)*P1048R1 11 12 19.30* 13.0.0* std::basic_string::contains()
, std::basic_string_view::contains() ( FTM)*P1679R3 11 12 19.30* 13.0.0* std::to_underlying
( FTM)*P1682R3 11 13 19.30* 13.1.6* Lockerung der Anforderungen für
std::chrono::time_pointP2212R2 N/A N/A N/A N/A Bereitstellung von Größenrückmeldung
in der Allokator-Schnittstelle ( FTM)*P0401R6 16 15 19.30* 14.0.3* spanstream
<: Zeichenkettenstrom mit >std::span-basiertem Puffer ( FTM)*P0448R4 12 19.31* std::out_ptr()
, std::inout_ptr() ( FTM)*P1132R8 14 19 19.30* type_info::operator==()
constexpr ( FTM)*P1328R1 12 17 19.33* *19.34*
15.0.0*
Iteratorpaar-Konstruktoren für
std::stack und std::queue ( FTM)*P1425R4 12 14 19.31* 14.0.3* Nicht-Deduktionskontext für Allokatoren in Container-Deduktionsleitfäden
P1518R2 12 *13 *19.31* *13.1.6* * ranges::starts_with()
und ranges::ends_with() ( FTM)*P1659R3 16 17 (teilweise)* 18
19.31*
16.0.0* Verbot der
std::basic_string- und std::basic_string_view-Konstruktion aus nullptrP2166R1 12 13 19.30* 13.1.6* std::invoke_r()
( FTM)*P2136R3 12 17 19.31* 15.0.0* Bereichs
konstruktor für std::basic_string_viewP1989R2 11 14 19.30* 14.0.3* Standard-Template-Argumente für den Weiterleitungs
konstruktor von std::pairP1951R1 14 14 19.30* 14.0.3* Entfernung der Garbage Collection und erreichbarkeitsbasierten Lecksuche (
Bibliotheksunterstützung) P2186R2 12 14 19.30* 14.0.3* zip:
views::zip, views::zip_transform, views::adjacent und views::adjacent_transform ( FTM)*P2321R2 13 15 (teilweise)* 22
19.33*
(teilweise)***19.37*
14.0.3*
Heterogene Löschüberladungen für assoziative Container
( FTM)*P2077R3 16 19.32* std::byteswap()
( FTM)*P1272R4 12 14 19.31* 14.0.3* Drucken
P1147R1 volatile T* 11.3 14 19.31* 14.0.3* basic_string::resize_and_overwrite()
( FTM)*P1072R10 12 14 19.31* 14.0.3* Monadische Operationen für
std::optional ( FTM)*P0798R8 12 14 19.32* 14.0.3* std::move_only_function
( FTM)*P0288R9 12 19.32* Hinzufügen einer bedingten noexcept-Spezifikation zu
std::exchangeP2401R0 12 14 19.31* 14.0.3* Anforderung, dass
std::spanstd::basic_string_view & TriviallyCopyable sein muss P2251R1 Ja Ja 19.31* Ja
Klarstellung des Status der „C-Header“ P2340R1 Ja Ja Ja Ja
< expected>  (FTM)* P0323R12
P2549R1
12 16 19.33* 15.0.0*
constexpr für <cmath> und <cstdlib>  (FTM)* P0533R9 4.6 (teilweise)*
std::unreachable()  (FTM)* P0627R6 12 15 19.32* 14.0.3*
Veraltet: std::aligned_storage und std::aligned_union P1413R3 13 16 19.33*
std::reference_constructs_from_temporary & std::reference_converts_from_temporary  (FTM)* P2255R2 13 (teilweise)*
14
21 (teilweise)* 19.51*
constexpr std::unique_ptr  (FTM)* P2273R3 12 16 19.33* 15.0.0*
Konstruktion von Containern und Zeichenketten aus Bereichen mit ranges::to(), getaggten Konstruktoren, insert- und assign-Memberfunktionen  (FTM)*  (FTM)* P1206R7 14 (teilweise)*
15
17 19.34* 15.0.0*
Pipe-Unterstützung für benutzerdefinierte Bereichsadapter (ranges::range_adaptor_closure, std::bind_back)  (FTM)*  (FTM)* P2387R3 13 (teilweise)*
14
19 19.34*
ranges::iota(), ranges::shift_left() und ranges::shift_right()  (FTM)*  (FTM)* P2440R1 13 (teilweise)*
16
23 19.34*
views::join_with  (FTM)* P2441R2 13 21 19.34*
views::chunk und views::slide  (FTM)*  (FTM)* P2442R1 13 19.33*
views::chunk_by  (FTM)* P2443R1 13 18 19.33* 16.0.0*
std::mdspan: eine nicht-besitzende mehrdimensionale Array-Referenz  (FTM)* P0009R18
P2599R2
P2604R0
P2613R1
P2763R1
16 17 (teilweise)*
18
19.39* 15.0.0*
< flat_map>  (FTM)* P0429R9 15 20 19.51*
< flat_set>  (FTM)* P1222R4 15 21 19.51*
ranges::find_last(), ranges::find_last_if() und ranges::find_last_if_not()  (FTM)* P1223R5 13 19 19.36*
Freistehende Bibliothek: Einfache <Dienstprogramm>-<Bereich>- und <Iteratoren> P1642R11 13* 19.38*
views::stride  (FTM)* P1899R3 13 23 19.34*
Kompatibilität zwischen std::tuple und tuple-ähnlichen Objekten  (FTM)* P2165R4 14 2.9 (teilweise)* 19.36* (teilweise)*
19.37*
teilweise*
Berichtigung von konstanten Iteratoren, Sentinelwerten und Bereichen. views::as_const  (FTM)* P2278R4 13 19.35* (teilweise)*
19.36*
Formatierung von Bereichen  (FTM)* P2286R8 15 16 19.37*(teilweise)*
19.39*(teilweise)*
19.41*(teilweise)*
19.42*
15.0.0*
Verbesserung der Standardcontainer-formatierung  (FTM)* P2585R1 15 16 (teilweise)*
17
19.42* 15.0.0*
Formatierte Ausgabebibliothek <print>  (FTM)* P2093R14
P2539R4
14 17 (teilweise)*
18
19.37* 15.0.0**
16.0.0*
Formatierung von std::thread::id und std::stacktrace  (FTM)* P2693R1 14 17 (teilweise)* 19.38* 15.0.0*
constexpr für die ganzzahligen Überladungen von std::to_chars() und std::from_chars()  (FTM)* P2291R3 13 16 19.34* 15.0.0*
ranges::contains() und ranges::contains_subrange()  (FTM)* P2302R4 13 19 19.34* 16.0.0**
Bereichs-Faltalgorithmen  (FTM)* P2322R6 13 23
18 (teilweise)*
19.35*
views::cartesian_product  (FTM)* P2374R4
P2540R1
13 19.37*
Hinzufügen von Unterstützung für nur-verschiebbare Typen für Vergleichskonzepte (equality_comparable, totally_ordered, three_way_comparable)  (FTM)* P2404R3 16 22 19.36*
Bereichsiteratoren als Eingaben für Nicht-Bereichsalgorithmen  (FTM)* P2408R5 16 19.34*
constexpr std::bitset  (FTM)* P2417R2 13 16 19.34* 15.0.0*
basic_string::substr() && P2438R2 16 16 19.34* 15.0.0*
views::as_rvalue  (FTM)* P2446R2 13 16 19.34* 15.0.0*
Standardbibliotheksmodule  (FTM)* P2465R3 15* 17 (teilweise)* 19.35*
(teilweise)*
19.36*
std::forward_like()  (FTM)* P2445R1 14 16 19.34* 15.0.0*
Unterstützung des exklusiven Modus für std::fstream  (FTM)* P2467R1 12 18 19.36* 16.0.0*
views::repeat  (FTM)* P2474R2 13 17 19.36* 15.0.0*
Lockerung von Bereichsadaptern, um nur-verschiebbare Typen zuzulassen  (FTM)* P2494R2 14 17 19.34* 15.0.0*
Der Bereichskonstruktor von std::basic_string_view sollte explizit sein P2499R0 12.2 16 19.34*
15.0.0* std::generator : synchroner Koroutinengenerator für Bereiche (FTM) *
P2502R2
P2787R0 14
19.43* Hinzufügen einer bedingten noexcept-Spezifikation zu std::apply P2517R1 10 18 19.34*
16.0.0* Explizite Lebensdauerverwaltung (std::start_lifetime_as ) (FTM) *
P2590R2
P2679R2 16
19.51*  Klarstellung der Handhabung von Kodierungen bei der lokalisierten Formatierung von Chrono-Typen (FTM) * P2419R2 15*19.34*
* std::move_iterator sollte nicht immer  input_iterator sein (FTM ) * P2520R0 12.3*17* 19.34*
*15.0.0* Aktualisierung der Deduktionsleitfäden für explizite Objektparameter -Call-Operatoren LWG3617
14 static operator() 19.34* Aktualisierung der Deduktionsleitfäden für P1169R4 13 16
19.39*15.0.0* Standardnamen und Bibliotheksunterstützung für erweiterte Gleitkommatypen P1467R913
19.37**  Monadische Operationen für std::expected (FTM ) * P2505R5 13 17
19.36* 15.0.0* views::enumerate (FTM ) * P2164R9 13
23  19.37* std::is_implicit_lifetime (FTM ) * P2674R1 16
20 19.51* std::common_reference_t von  std::reference_wrapper sollte ein Referenztyp sein (FTM )* (FTM ) * P2655R3 16
21*19.37* Verbot der Benutzerspezialisierung von std::allocator_traits P2652R2
19 19.37* Veraltet: std::numeric_limits::has_denorm P2614R2 17 18
19.37*16.0.0* Explizitmachen von Multi-Param-Konstruktoren von Ansichten P2711R1 16 21
17 (teilweise)*
19.36** 15.0.0*
DR20: Lockerung der Bereiche ein wenig  (FTM)* P2609R3 15 20 19.37*
DR20: Stashing Stashing Iterators For Proper Flattening P2770R0 14 21
18 (teilweise)
19.37*
DR17: std::visit() für Klassen, die von std::variant  abgeleitet sind (FTM)* P2162R2 11.3 13 19.20**
19.30*
13.1.6*
DR20: Bedingt geborgte Bereiche P2017R1 11 16 19.30*
DR20: Reparatur von Eingabebereichsadaptern und std::counted_iterator P2259R1 12 19.30*(teilweise)*
19.31*
DR20: views::join sollte alle Ansichten von Bereichen zusammenführen P2328R1 11.2 15 19.30* 14.0.3*
DR20: view erfordert nicht default_initializable  (FTM)* P2325R3 11.3 16 19.30* 15.0.0*
DR20: Bereichsadapter-Objekte binden Argumente nach Wert P2281R1 11 14 19.29 (16.10)*
(teilweise)*
19.31*
14.0.3*
DR20: constexpr für std::optional und std::variant  (FTM)*  (FTM)* P2231R1 11.3 (teilweise)*
12
13 (teilweise)*
19
19.31* 13.1.6* (teilweise)
DR20: views::lazy_split und neu gestaltetes views::split P2210R2 12 16 19.31* 15.0.0*
DR20: Behebung von ranges::istream_view P2432R1 12 16 19.31* 15.0.0*
DR20: Ansicht mit Eigentum  (FTM)* P2415R2 12 14 19.31* 14.0.3*
DR20: Behebung der Lokalisierungsbehandlung in Chrono-Formatieren  (FTM)* P2372R3
P2418R2
13 19.31*
DR20: Bereinigung von Integer-Klassentypen P2393R1 19.32*
DR20: Compile-Zeit-Formatzeichenfolgenprüfungen; Reduzierung der Binary-Code-Größe der std::format()-Familie  (FTM)* P2216R3 13 14 (teilweise)*
15
19.32* 14.0.3*
DR20: Hinzufügen von Unterstützung für nicht-const-formattierbare Typen zu std::format P2418R2 13 15 19.32* 14.0.3*
DR20: std::basic_format_string P2508R1 13 15 19.35* 14.0.3*
DR20: Poison Pills sind zu giftig  (FTM)* P2602R2 14 19 19.36*
DR20: std::format-Füllzeichenerlaubnisse P2572R1 14 17 19.37*
DR20: Verbesserung der Breitenschätzung von std::format P2675R1 14 17 19.38*
DR20: Phasenabschlussgarantien von std::barrier ( FTM)*P2588R3 19.28 (16.8)* *19.36*
C++23-Funktion
 

Papier(e)
 

GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
*

- Bewegen Sie die Maus über eine mit dem Stern * markierte Zelle, um zusätzliche Popup-Notizen anzuzeigen.
DRnn - die Zahl nn nach „DR“ gibt die Ziel-C++-Revision an, auf die der Fehlerbericht angewendet wird, z.B. DR20 → C++20.

Externe Links

1.  C++23 - Wikipedia