Namespaces
Variants

C++23

From cppreference.net

Die aktuelle Revision des C++-Standards.

Inhaltsverzeichnis

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

**Anmerkung:** Da der Text innerhalb der ` `-Tags C++-spezifische Header-Namen enthält und gemäß den Anweisungen nicht übersetzt werden soll, sowie alle HTML-Tags und Attribute unverändert bleiben müssen, ist die Übersetzung identisch mit dem Original. Die Titelattribute wurden ebenfalls nicht übersetzt, da sie C++-bezogene Pfade enthalten.

C-Kompatibilitätsheader:

Bibliotheksfunktionen

Allgemeine Dienstprogramme
Coroutinen-Bibliothek
Diagnose
Algorithmen, Iteratoren und Bereiche
Container
Compilezeit-Unterstützung
Speicherverwaltung
String- und Textverarbeitung
E/A und Druck

Veraltete Funktionen

Entfernte Funktionen
  • Unterstützung für Garbage Collection und reachability-basierte Leak-Erkennung. ( P2186R2 )
  • Unterstützung für gemischte Wide-String-Literal- Verkettung , z.B. const auto * no = u "q" U "p" ist ill-formed. ( P2201R1 )
  • Nicht-encodierbare Wide-Character-Literale und Multicharacter-Wide-Character-Literale, z.B. wchar_t x = 'db' ist ill-formed. ( P2362R3 )
Veraltete Funktionen
Zurückgenommene Veraltungen
  • Der operator, (Komma-Operator) in Indexausdrücken (jedoch wurde die Semantik geändert, um überladbare mehrdimensionale Indexoperatoren operator [ ] zu unterstützen).
  • Einige C-Header (die entsprechenden <*.h> Header für Kompatibilität mit C) ( P2340R1 )

Fehlerberichte

Compiler-Unterstützung

Hauptartikel: C++23 compiler support

C++23 Kernsprachfunktionen

**Übersetzte Elemente:** - "Feature-testing macro" → "Feature-Test-Makro" (im title-Attribut) - Alle HTML-Tags, Attribute und C++-spezifischen Begriffe (`if consteval`, `FTM`, `__cpp_if_consteval`) wurden unverändert belassen - Numerische Werte und Versionsnummern wurden nicht übersetzt - Die Tabellenstruktur und Formatierung wurde vollständig beibehalten **Übersetzte Elemente:** - "and" → "und" - "Feature-testing macro" → "Feature-Test-Makro" **Beibehaltene Elemente:** - Alle HTML-Tags und Attribute - Code-Blöcke ` auto(x) ` und ` auto{x} ` - C++-spezifische Begriffe (FTM, __cpp_auto_cast, P0849R8) - Numerische Werte und Versionsnummern - Formatierung und Struktur
C++23-Funktion

Dokument(e)

GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
Literalsuffix für (signed) size_t ( FTM ) * P0330R8 11 13 19.43* 13.1.6* 6.5 2022.2 23.9
Mache () 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
Einschränkende kontextuelle Konvertierungen in static_assert und constexpr if P1401R5 9 13 (teilweise)*
14
14.0.0* 2022.2 20.7
Leerzeichen vor Zeilenverknüpfung entfernen P2223R2 Ja Ja Ja 6.7 2022.2 Ja
Deklarationsreihenfolge-Layout verbindlich vorschreiben P1847R4 Ja Ja Ja Ja 2022.2 Ja
Entfernung gemischter Breitzeichenkettenliteral- Verkettung P2201R1 Ja Ja Ja Ja Ja Ja Ja
Explizite Objekt-Memberfunktionen (Ableitung von this )  ( FTM ) * P0847R7 14 18
19*
19.32*
(teilweise)*
19.43*
6.3 22.5
auto(x) und auto{x} ( FTM ) * P0849R8 12 15 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 (sowie Labels und Gotos) in constexpr Funktionen  ( FTM ) * P2242R3 12 15 19.43* 14.0.3* 6.3 2022.2 22.5
Konsistente Zeichenliteral-Kodierung P2316R2 Ja Ja 19.30* Ja Ja 2022.2 Ja
Zeichensätze und Kodierungen P2314R4 10 Ja Ja Ja 2022.2 Ja
Erweitere Init-Anweisung (von for -Schleife ), um Alias-Deklaration zu ermöglichen P2360R0 12 14 14.0.0* 2022.2
Mehrdimensionaler Subskript-Operator ( FTM ) * P2128R6 12 15 19.42* 14.0.3* 2022.2
Attribute für Lambdas P2173R1 9 13 19.44* 13.1.6* 6.6 2022.2 22.5
#warning P2437R1 Ja* Ja 15.0.0* 6.5 2023.2 Ja
Entfernung nicht kodierbarer Breitzeichenliterale und mehrstelliger Breitzeichenliterale P2362R3 13 14 15.0.0* 6.7 2023.2
Labels am Ende von zusammengesetzten Anweisungen P2324R2 13 16 16.0.0* 6.5 2023.2 23.9
Begrenzte Escape-Sequenzen P2290R3 13 15 15.0.0* 6.7 2023.2
Benannte universelle Zeichen-Escapes ( FTM ) * P2071R2 13 15 15.0.0* 6.7 2023.2
Lockerung einiger constexpr Einschränkungen ( FTM ) * P2448R2 13 17 (teilweise)
19
2024.0 (teilweise)
Einfachere implizite Verschiebung  ( FTM ) * P2266R3 13 13 6.7 2022.2
static operator ( ) ( FTM ) * P1169R4 13 16 19.44* 16.0.0* 6.7 2023.2
Anforderungen für optionale extended floating-point types P1467R9 13 N/A 6.4
Ableitung von Klassentemplate-Argumenten aus geerbten Konstruktoren P2582R1 14
Attribut [[ assume ]] P1774R8 13 19
Unterstützung für UTF-8 als portable Quelltextdatei-Kodierung P2295R6 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
Zulassung von static constexpr Variablen in constexpr Funktionen  ( FTM ) * P2647R1 13 16 16.0.0* 2023.2
Verlängerung der Lebensdauer von Temporaries in Range-basierten for-Schleifen-Initialisierern  ( FTM ) * P2644R1
P2718R0
CWG2659
15 19
Deklarationen und wo sie zu finden sind P1787R6
DR11: Ändere den Geltungsbereich des Lambda Nachgestellten-Rückgabetyps P2036R3
P2579R0
17 2023.2
DR20: Bedeutungsvolle Exporte P2615R1 15 17 (teilweise)
DR20: consteval muss nach oben propagieren ( FTM ) * P2564R3 14 17 16.0.0* 6.7 2024.0
DR98: C++-Bezeichnersyntax unter Verwendung des Unicode-Standard-Anhangs 31 P1949R7 12 14 14.0.0* 6.4 2022.2
DR11: Duplikate Attribute zulassen attributes P2156R1 11 13 13.1.6* 6.5 23.9
DR20: Anpassung des Werts des Feature-Test-Makros __cpp_concepts P2493R0 12 19.32* 6.4 23.3
DR98: Anforderungen an wchar_t lockern, um bestehenden Praktiken zu entsprechen P2460R2 Ja Ja Ja 15.0.0* N/A 2023.2
DR11: Verwendung unbekannter Zeiger und Referenzen in konstanten Ausdrücken P2280R4 14 20 *
DR20: Der Gleichheitsoperator, den Sie suchen P2468R2 13 16 16.0.0* 2023.2
DR20: char8_t Kompatibilitäts- und Portabilitätskorrektur  ( FTM ) * P2513R4 13 16 19.34* 16.0.0* 2023.2
DR98/11: Klärung der Meldung von Diagnosedirektiven und Ermöglichung von static_assert für nicht-wertabhängige Ausdrücke in einem Template-Kontext CWG2518 13 17 16.0*
(teilweise)*
19.40*


C++23-Funktion


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

C++23-Bibliotheksfunktionen

**Anmerkung:** Der HTML-Code enthält keine übersetzbaren Textelemente außerhalb der geschützten Tags. Alle enthaltenen Texte sind entweder: - HTML-Tags und Attribute (nicht zu übersetzen) - Code-Elemente (` `, `FTM`, `P0943R6`, Versionsnummern) - gemäß Anweisung nicht zu übersetzen - Technische Bezeichner und Makronamen Daher bleibt der ursprüngliche Code unverändert. **Anmerkung:** In diesem HTML-Fragment gibt es keine zu übersetzenden Textelemente, da: - Alle sichtbaren Texte C++-spezifische Begriffe sind (`std::is_scoped_enum`, `FTM`, `P1048R1`) - Die numerischen Werte und Versionsnummern nicht übersetzt werden - Die Titelattribute technische Informationen enthalten, die nicht übersetzt werden sollen - HTML-Tags und Attribute gemäß Anforderung unverändert bleiben **Anmerkung:** Die Übersetzung war in diesem Fall nicht erforderlich, da der gesamte Text innerhalb der HTML-Tags aus folgenden Gründen nicht übersetzt werden sollte: - C++-spezifische Begriffe (`std::basic_string::contains`, `std::basic_string_view::contains`) - Code-Elemente innerhalb von ` ` Tags - Technische Bezeichner und Makros (`FTM`, `P1679R3`, `__cpp_lib_string_contains`) - Versionsnummern und technische Werte Die HTML-Struktur, Attribute und Formatierung wurden vollständig beibehalten. **Erläuterung der Übersetzung:** - Alle HTML-Tags, Attribute und C++-spezifischen Begriffe (`std::to_underlying`, `FTM`, `__cpp_lib_to_underlying`, `P1682R3`) wurden unverändert belassen - Die Zahlenwerte und Versionsnummern wurden nicht übersetzt - Der Text in den `title`-Attributen wurde übersetzt, da diese für Benutzer sichtbar sind - Die Struktur und Formatierung des HTML-Codes bleibt vollständig erhalten **Anmerkung:** Der HTML-Code wurde gemäß den Anforderungen nicht übersetzt, da er hauptsächlich aus HTML-Tags, C++-spezifischen Begriffen (`std::out_ptr`, `std::inout_ptr`, `FTM`, `__cpp_lib_out_ptr`) und numerischen Werten besteht, die nicht übersetzt werden sollten. **Anmerkung:** In diesem HTML-Fragment gibt es keine zu übersetzenden Textelemente, da: - `std::invoke_r()` ein C++-spezifischer Begriff ist und nicht übersetzt wird - `FTM` ein Akronym für "Feature Testing Macro" ist und ebenfalls nicht übersetzt wird - `P2136R3` ein WG21-Dokumentenname ist - Alle anderen Elemente sind numerische Werte oder HTML-Attribute Die Struktur und Formatierung bleiben vollständig erhalten. **Änderungen:** - "and" → "und" (Konjunktion) - "partial" → "teilweise" (in den Tooltip-Texten) - Alle HTML-Tags, Attribute, C++-spezifischen Begriffe und Code-Elemente wurden unverändert beibehalten **Anmerkung:** In diesem HTML-Fragment gibt es keine zu übersetzenden Textelemente, da: - Alle sichtbaren Texte C++-spezifische Begriffe sind (`std::byteswap()`, `FTM`, `P1272R4`, Versionsnummern) - Die Texte innerhalb der ` ` Tags technische Beschreibungen enthalten - Alle anderen Texte numerische Werte oder Code-Referenzen sind Daher bleibt der gesamte Inhalt gemäß den Anforderungen unverändert. **Anmerkung:** In diesem HTML-Fragment gibt es keine zu übersetzenden Textelemente, da: - Alle sichtbaren Texte entweder HTML-Tags, C++-spezifische Begriffe oder Code-Referenzen sind - ` `, `FTM`, `P0323R12`, `P2549R1` sind C++-spezifische Begriffe und sollten nicht übersetzt werden - Die Versionsnummern und technischen Bezeichnungen bleiben unverändert - Der Tooltip-Text im `title`-Attribut enthält C++-Makros und sollte nicht übersetzt werden **Anmerkung:** In diesem HTML-Fragment gibt es keine zu übersetzenden Textelemente, da: - `views::join_with` ein C++-spezifischer Begriff ist und nicht übersetzt wird - `FTM` (Feature Testing Macro) ein C++-spezifischer Begriff ist - `P2441R2` ein WG21-Papiercode ist - Die Zahlen und Symbole sind keine übersetzbaren Texte - Alle anderen Elemente sind HTML-Tags, Attribute oder Code-Elemente Daher bleibt der HTML-Code unverändert. **Anmerkung:** In diesem HTML-Fragment gibt es keine zu übersetzenden Textelemente, da: - Alle sichtbaren Texte C++-spezifische Begriffe sind (`views::chunk_by`, `FTM`, `P2443R1`, Versionsnummern) - Die Titelattribute technische Beschreibungen enthalten - Die numerischen Werte und Codes unverändert bleiben müssen Die Struktur und Formatierung wurden gemäß den Anforderungen vollständig beibehalten. **Änderungen:** - "Feature-testing macro" wurde zu "Feature-Test-Makro" übersetzt - Alle HTML-Tags, Attribute und C++-spezifische Begriffe (` `, `FTM`, `__cpp_lib_flat_set`, `P1222R4`) wurden unverändert belassen - Die numerischen Werte und Formatierung wurden beibehalten **Anmerkung:** Der HTML-Code enthält keine übersetzbaren Textelemente außerhalb der spezifizierten Ausnahmen. Alle enthaltenen Texte sind entweder: - HTML-Tags und Attribute (nicht zu übersetzen) - C++-spezifische Begriffe (`views::stride`, `FTM`, `__cpp_lib_ranges_stride` - nicht zu übersetzen) - Technische Bezeichner und Versionsnummern (nicht zu übersetzen) - Dokumentenreferenzen (`P1899R3` - nicht zu übersetzen) Daher bleibt der ursprüngliche Code unverändert. **Übersetzungsdetails:** - "Ranges fold algorithms" wurde zu "Ranges-Fold-Algorithmen" übersetzt - HTML-Tags, Attribute und IDs wurden unverändert beibehalten - Technische Begriffe wie "FTM" (Feature Testing Macro) und "P2322R6" wurden nicht übersetzt - Zahlenwerte und Formatierungen bleiben erhalten - Der Titel-Tooltip-Texte wurde ebenfalls übersetzt **Anmerkung:** In diesem HTML-Fragment gibt es keine zu übersetzenden Textelemente, da: - Alle sichtbaren Texte C++-spezifische Begriffe sind (`views::as_rvalue`, `FTM`, `P2446R2`) - Die numerischen Werte und Versionsnummern unverändert bleiben müssen - Die Titelattribute bereits englisch sind und nicht übersetzt werden sollen - Keine beschreibenden Texte vorhanden sind, die übersetzt werden müssten Das HTML bleibt daher vollständig unverändert. **Übersetzte Elemente:** - "Feature-testing macro" → "Feature-Test-Makro" (im title-Attribut) - Alle HTML-Tags, Attribute und C++-spezifischen Begriffe (`std::forward_like()`, `FTM`, `__cpp_lib_forward_like`, Versionsnummern) wurden unverändert belassen - Die Formatierung und Struktur des HTML-Codes wurde vollständig beibehalten **Übersetzte Elemente:** - "Feature-testing macro" → "Feature-Test-Makro" (im title-Attribut) **Nicht übersetzte Elemente:** - HTML-Tags und Attribute - C++-spezifische Begriffe (`views::repeat`, `__cpp_lib_ranges_repeat`, `FTM`) - Versionsnummern und technische Bezeichnungen - Code-ähnliche Elemente **Anmerkung:** Der HTML-Code enthält keine übersetzbaren Textelemente außerhalb der geschützten Tags. Alle enthaltenen Texte sind entweder: - HTML-Tags und Attribute (nicht zu übersetzen) - C++-spezifische Begriffe (`views::enumerate`, `FTM`, `__cpp_lib_ranges_enumerate` - nicht zu übersetzen) - Technische Bezeichnungen (P2164R9, Versionsnummern) - Titel-Attribute (technische Beschreibungen) Daher bleibt der gesamte Code unverändert. **Übersetzung:** **Anmerkung:** Der Text wurde gemäß den Anforderungen nicht übersetzt, da es sich um C++-spezifische Begriffe handelt und der Titel eines offiziellen C++-Dokuments (P2770R0) ist.
C++23-Funktion

Paper(s)

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 time_point<>::clock P2212R2 N/A N/A N/A N/A
Bereitstellung von Größenrückmeldung in der Allocator-Schnittstelle  ( FTM ) * P0401R6 15 19.30* 14.0.3*
<spanstream> : String-Stream mit std::span -basiertem Puffer  ( FTM ) * P0448R4 12 19.31*
std::out_ptr() , std::inout_ptr() ( FTM ) * P1132R8 14 19 19.30*
constexpr type_info::operator==() ( FTM ) * P1328R1 12 17 19.33* *
19.34*
15.0.0*
Iterator-Paar-Konstruktoren für std::stack und std::queue ( FTM ) * P1425R4 12 14 19.31* 14.0.3*
Nicht-Ableitungskontext für Allokatoren in Container-Ableitungsleitfäden P1518R2 12 * 13 * 19.31* * 13.1.6* *
ranges::starts_with() und ranges::ends_with() ( FTM ) * P1659R3 17 (teilweise)*
18
19.31* 16.0.0*
Verbot der std::basic_string und std::basic_string_view Konstruktion aus nullptr P2166R1 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_view P1989R2 11 14 19.30* 14.0.3*
Standardmäßige Template-Argumente für den Weiterleitungs- Konstruktor von std::pair P1951R1 14 14 19.30* 14.0.3*
Entfernung der Garbage Collection und erreichbarkeitsbasierter Speicherleck-Erkennung ( 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)* 19.33* (teilweise)* * *
19.37*
14.0.3*
Heterogene Löschüberladungen für assoziative Container  ( FTM ) * P2077R3 19.32*
std::byteswap() ( FTM ) * P1272R4 12 14 19.31* 14.0.3*
Ausgabe volatile T * P1147R1 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*
Fügen Sie eine bedingte noexcept-Spezifikation zu std::exchange hinzu P2401R0 12 14 19.25* 14.0.3*
Fordern, dass std::span & std::basic_string_view TriviallyCopyable sind P2251R1 Ja Ja Ja Ja
Klärung 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*
Veraltung von 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)*
constexpr std::unique_ptr ( FTM ) * P2273R3 12 16 19.33* 15.0.0*
Konstruktion von Containern und Strings aus Ranges 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 Range-Adapter ( 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)* 19.34*
views::join_with ( FTM ) * P2441R2 13 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
17 (teilweise)*
18
19.39* 15.0.0*
<flat_map> ( FTM ) * P0429R9 15 20
<flat_set> ( FTM ) * P1222R4 15 21
ranges::find_last() , ranges::find_last_if() und ranges::find_last_if_not() ( FTM ) * P1223R5 13 19 19.36*
Freestanding Bibliothek: Einfach <utility> , <ranges> , und <iterator> P1642R11 13 * N/A
views::stride ( FTM ) * P1899R3 13 19.34*
Kompatibilität zwischen std::tuple und tuple-ähnlichen Objekten  ( FTM ) * P2165R4 14 2.9 (teilweise)* 19.36* (teilweise) *
19.37*
teilweise*
Korrektur konstanter Iteratoren, Sentinel und Ranges. views:: as_const ( FTM ) * P2278R4 13 19.35* (teilweise)*
19.36*
Formatierung Ranges  ( FTM ) * P2286R8 15 (teilweise)*
15.2
16 19.37* (teilweise)*
19.39* (teilweise)*
19.41* (teilweise)*
19.42*
15.0.0*
Standard-Container-Formatierung verbessern 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 std::thread::id und std::stacktrace ( FTM ) * P2693R1 14 17 (teilweise)* 19.38* 15.0.0*
constexpr für integrale Ü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 18 (teilweise)*
19
19.34* 16.0.0* *
Ranges-Fold-Algorithmen ( FTM ) * P2322R6 13 19.35*
views::cartesian_product ( FTM ) * P2374R4
P2540R1
13 19.37*
Hinzufügung von Unterstützung für nur-verschiebbare Typen für Vergleichskonzepte ( equality_comparable , totally_ordered , three_way_comparable )  ( FTM ) * P2404R3 19.36*
Ranges-Iteratoren als Eingaben für Nicht-Ranges-Algorithmen  ( FTM ) * P2408R5 19.34*
constexpr std::bitset ( FTM ) * P2417R2 13 16 19.34* 15.0.0*
basic_string::substr() && P2438R2 16 19.34* 15.0.0*
views::as_rvalue ( FTM ) * P2446R2 13 16 19.34* 15.0.0*
Standardbibliothek-Module  ( 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 der Bereichsadapter für Move-only-Typen  ( FTM ) * P2494R2 14 17 19.34* 15.0.0*
std::basic_string_view Bereichs- Konstruktor sollte explizit sein P2499R0 12.2 16 19.34* 15.0.0*
std::generator : synchroner Coroutine-Generator für Ranges  ( FTM ) * P2502R2
P2787R0
14 19.43*
Füge eine bedingte noexcept-Spezifikation zu std::apply hinzu P2517R1 10 18 19.34* 16.0.0*
Explizite Lebensdauerverwaltung ( std::start_lifetime_as )  ( FTM ) * P2590R2
P2679R2
Klärung 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*
Ableitungsleitfäden Update für explizite Objektparameter Aufrufoperatoren LWG3617 14 19.34*
Aktualisierung der Deduction Guides für static operator ( ) P1169R4 13 16 19.39* 15.0.0*
Standardnamen und Bibliotheksunterstützung für erweiterte Gleitkommatypen P1467R9 13 19.37* *
Monadische Operationen für std::expected ( FTM ) * P2505R5 13 17 19.36* 15.0.0*
views::enumerate ( FTM ) * P2164R9 13 19.37*
std::is_implicit_lifetime ( FTM ) * P2674R1 20
std::common_reference_t von std::reference_wrapper sollte ein Referenztyp sein  ( FTM ) * ( FTM ) * P2655R3 19.37*
Unterbindung der Benutzerspezialisierung von std::allocator_traits P2652R2 19 19.37*
Veraltung von std::numeric_limits::has_denorm P2614R2 18 19.37* 16.0.0*
Mehrparametrige Konstruktoren von view s explicit machen P2711R1 17 (teilweise)* 19.36* * 15.0.0*
DR20: Ranges Geringfügig Lockern  ( FTM ) * P2609R3 15 20 19.37*
DR20: Stashing Stashing Iterators For Proper Flattening P2770R0 14 18 19.37*
DR20: Stashing Stashing Iterators For Proper Flattening P2770R0 14 18 19.37*
DR17: std::visit() für Klassen abgeleitet von std::variant ( FTM ) * P2162R2 11.3 13 19.20* *
19.30*
13.1.6*
DR20: Bedingt entliehene Ranges P2017R1 11 16 19.30*
DR20: Reparatur von Input-Range-Adaptoren und std::counted_iterator P2259R1 12 19.30* (teilweise)*
19.31*
DR20: views::join sollte alle Views von Ranges verbinden 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: Bereichsadapterobjekte binden Argumente als 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 überarbeitetes views::split P2210R2 12 16 19.31* 15.0.0*
DR20: Korrektur ranges::istream_view P2432R1 12 16 19.31* 15.0.0*
DR20: view mit Besitzrechten  ( FTM ) * P2415R2 12 14 19.31* 14.0.3*
DR20: Behebung der Locale-Behandlung in Chrono-Formatierern  ( FTM ) * P2372R3
P2418R2
13 19.31*
DR20: Bereinigung von Integer-Class-Typen P2393R1 19.32*
DR20: Kompilierzeit-Formatstring-Prüfungen; Reduzierung der Binärcodegröße der std::format() Familie  ( FTM ) * P2216R3 13 14 (teilweise)*
15
19.32* 14.0.3*
DR20: Unterstützung für nicht-konstante formatierbare 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 toxisch  ( FTM ) * P2602R2 14 19 19.36*
DR20: std::format Füllzeichen-Erweiterungen P2572R1 14 17 19.37*
DR20: Verbesserung der std::format -Breitenschätzung P2675R1 14 17 19.38*
DR20: std::barrier 's Phasenabschlussgarantien  ( FTM ) * P2588R3 19.28 (16.8)* *
19.36*


C++23-Funktion


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

* - bewegen Sie die Maus über eine mit dem Stern markierte Zelle * , um zusätzliche Pop-up-Notizen zu sehen.
DR nn - die Zahl nn nach "DR" bezeichnet die C++-Revision, auf die der Defect Report angewendet wird, z.B. DR20 → C++20.

Externe Links

1. C++23 - Wikipedia