Library feature-test macros (since C++20)
Jeder der folgenden Makros ist definiert, wenn der Header <version> oder einer der entsprechenden Header, die in der Tabelle angegeben sind, eingebunden wird.
Eine gehärtete Implementierung definiert außerdem die folgenden Makros:
| Makroname | Wert | Header |
Eigen-
ständig |
|---|---|---|---|
__cpp_lib_hardened_array
|
202502L | <array> | |
__cpp_lib_hardened_basic_string
|
202502L | <string> | |
__cpp_lib_hardened_basic_string_view
|
202502L | <string_view> | |
__cpp_lib_hardened_bitset
|
202502L | <bitset> | |
__cpp_lib_hardened_deque
|
202502L | <deque> | |
__cpp_lib_hardened_expected
|
202502L | <expected> | |
__cpp_lib_hardened_forward_list
|
202502L | <forward_list> | |
__cpp_lib_hardened_inplace_vector
|
202502L | <inplace_vector> | |
__cpp_lib_hardened_list
|
202502L | <list> | |
__cpp_lib_hardened_mdspan
|
202502L | <mdspan> | |
__cpp_lib_hardened_optional
|
202502L | <optional> | |
__cpp_lib_hardened_span
|
202502L | <span> | |
__cpp_lib_hardened_valarray
|
202502L | <valarray> | |
__cpp_lib_hardened_vector
|
202502L | <vector> | |
| Gesamtanzahl der Makros: 14 | |||
Hinweise
Jeder Wert in der "Value"-Spalte folgt dem Muster: "yyyymmL" , wobei "yyyy" ein Jahr und "mm" ein Monat ist, in dem der entsprechende Feature-Set zur Standardisierung angenommen wurde. Einige Werte wurden seit ihrer Einführung erhöht, wenn die Fähigkeiten des jeweiligen Features erweitert wurden. Die obige Tabelle enthält nur die aktuellsten Werte (d.h. aus dem neuesten C++-Sprachstandardentwurf). Ein vollständiger Satz von Werten, einschließlich der ursprünglichen und Zwischenwerte, kann in dieser Tabelle gefunden werden.
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| LWG 4126 |
C++20
C++23 |
einige Feature-Test-Makros für vollständig
freestanding-Features waren nicht freestanding |
sie sind ebenfalls
freestanding |
Siehe auch
| Feature-Testing (C++20) | Ein Satz von Präprozessor-Makros zum Testen der entsprechenden C++-Sprach- und Bibliotheksfunktionen |
|
C++-Dokumentation
für
Header, die für eine freistehende Implementierung erforderlich sind
|
|
|
C++-Dokumentation
für
Vordefinierte Makrosymbole
|
|