Namespaces
Variants

Compiler support for C23

From cppreference.net

C23-Kernsprachfunktionen

**Übersetzungsdetails:** - "Yes" wurde konsequent zu "Ja" übersetzt - HTML-Tags, Attribute und Formatierung wurden unverändert beibehalten - C++-spezifische Begriffe (`#warning`, `N2686`) wurden nicht übersetzt - Numerische Werte (6.5) blieben unverändert - Leere Tabellenzellen wurden nicht modifiziert **Anmerkung:** In diesem HTML-Abschnitt gibt es keine zu übersetzenden Textelemente, da: - Der Text innerhalb der ` `-Tags (noreturn) ein C++-spezifischer Begriff ist und nicht übersetzt werden soll - N2764 ist ein Dokumentenbezeichner - Die numerischen Werte bleiben unverändert - Alle HTML-Tags und Attribute wurden beibehalten **Übersetzungsdetails:** - "Predefined" wurde zu "Vordefinierte" übersetzt - "and" wurde zu "und" übersetzt - Die C++-Schlüsselwörter `true` und `false` wurden nicht übersetzt (wie angefordert) - Alle HTML-Tags, Attribute und Formatierungen wurden unverändert beibehalten - Der Dokumentenlink N2935 wurde nicht übersetzt **Anmerkung:** In diesem HTML-Fragment gibt es keine zu übersetzenden Textelemente, da: - `#embed` ein C++-Präprozessor-Direktive ist und nicht übersetzt wird - `N3017` ein Standarddokumenten-Bezeichner ist - Die Zahlenwerte (15, 19) numerische Daten darstellen - Alle anderen Zellen leer sind Die HTML-Struktur, Attribute und Tags wurden vollständig beibehalten. **Änderungen:** - "objects" wurde zu "Objekte" übersetzt - `constexpr` (innerhalb ` ` Tags) wurde nicht übersetzt - HTML-Tags, Attribute und numerische Werte wurden unverändert beibehalten - N3018 (Dokumentenreferenz) wurde nicht übersetzt **Anmerkung:** In diesem HTML-Fragment gibt es keine zu übersetzenden Textelemente, da: - `nullptr` ein C++-spezifischer Begriff ist und nicht übersetzt wird - `N3042` ein Dokumentenidentifikator ist - Die Zahlenwerte (13, 16) numerische Werte darstellen - Alle anderen Elemente sind HTML-Tags, Attribute oder leere Tabellenzellen Das Fragment wurde daher unverändert übernommen.
C23-Funktion

Dokument(e)

GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
static_assert ohne Nachricht N2265 9 9 Ja Ja 6.5 2021.1.2 (clang based)
[[ nodiscard ]] N2267 10 9 Ja 6.4 2021.1.2 (clang basiert)
[[ maybe_unused ]] N2270 10 9 Ja 6.4 2021.1.2 (clang based)
[[ deprecated ]] N2334 10 9 Ja 6.4 2021.1.2 (clang basierend)
Attribute N2335
N2554
10 9 Ja 6.4 2021.1.2 (clang based)
IEEE 754 Dezimal-Gleitkommatypen N2341 4.2 (teilweise)*
12
13.0 (teilweise)*
[[ fallthrough ]] N2408 10 9 Ja 6.4 2021.1.2 (clang basiert)
u8 Zeichenkonstanten N2418 10 15 6.5 2022.2
Entfernung von Funktionsdefinitionen ohne Prototyp N2432 10 15 2022.2
[[ nodiscard ]] mit Nachricht N2448 11 10 Ja 6.4 2021.1.2 (clang basiert)
Unbenannte Parameter in Funktionsdefinitionen N2480 11 11 Ja 6.4 2021.1.2 (clang based)
Labels vor Deklarationen und Ende von Blöcken N2508 11 16 Teilweise* 6.5 17.0 *
Binäre Ganzzahlkonstanten N2549 4.3 *
11
2.9 *
9
19.0 (2015)* * Ja 6.5 11.0 *
__has_c_attribute in Präprozessor-Bedingungen N2553 11 9 Ja 6.5 2021.1.2 (clang based)
Doppelte Attribute erlauben N2557 11 13 Ja 6.5 2021.4 (clang-based
IEEE 754 Austausch- und erweiterte Typen N2601 7 (teilweise)*
14
6 (teilweise)* Teilweise*
Zifferntrennzeichen N2626 12 13 19.0 (2015)* * Ja 6.5 18.0 *
#elifdef und #elifndef N2645 12 13 19.40* 13.1.6* 6.5 2021.4
Typänderung von u8 String-Literalen N2653 13
[[ maybe_unused ]] für Labels N2662 11 16 6.5 2022.2
#warning N2686 Ja Ja Ja 6.5 Ja
Bit-genaue Ganzzahltypen ( _BitInt ) N2763 14 (teilweise)* 15 6.5 2022.2
[[ noreturn ]] N2764 13 15 6.5 2022.2
Suffixe für bitgenaue Integer-Konstanten N2775 14 15 2022.2
__has_include in Präprozessor-Bedingungen N2799 5 Ja 19.11* Ja 6.5 18.0
Bezeichnersyntax unter Verwendung des Unicode-Standard-Anhangs 31 N2836 13 15 6.5 2022.2
Entfernung von Funktionsdeklarationen ohne Prototyp N2841 13 15 2022.2
Leere Initialisierer N2900 Teilweise*
13
Teilweise* Teilweise* Teilweise* Teilweise*
typeof und typeof_unqual N2927
N2930
Teilweise*
13
Teilweise*
16
19.39* Teilweise* Teilweise* Teilweise* Teilweise*
Neue Schreibweise von Schlüsselwörtern N2934 13 16 6.5
Vordefinierte true und false N2935 13 15 2022.2
[[ unsequenced ]] und [[ reproducible ]] N2956 15
Anforderungen für variadic parameter list lockern N2975 13 16 6.5 2023.1
Typrückschluss bei Objektdefinitionen N3007 13 18
#embed N3017 15 19
constexpr Objekte N3018 13 19
Verbesserte Normale Aufzählungen N3029 13 20 *
Aufzählungen mit festgelegten zugrundeliegenden Typen N3030 13 20 *
__VA_OPT__ N3033 8
13
12 19.39* 6.5
Speicherklassenspezifizierer für zusammengesetzte Literale N3038 13
nullptr N3042 13 16


C23-Funktion


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

C23-Bibliotheksfunktionen