static_assert
Von cppreference.com
| Definiert in Header <assert.h> |
||
| #define static_assert _Static_assert |
(seit C11) (entfernt in C23) |
|
Dieses Hilfsmakro wird zum Schlüsselwort _Static_assert erweitert.
Inhalt |
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <assert.h> int main(void) { static_assert(2 + 2 == 4, "2+2 isn't 4"); // well-formed static_assert(sizeof(int) < sizeof(char), // compile-time error "this program requires that int is less than char"); }
[bearbeiten] Hinweise
Seit C23 ist static_assert selbst ein Schlüsselwort, das auch ein vordefiniertes Makro sein kann, daher stellt <assert.h> es nicht mehr zur Verfügung.
[bearbeiten] Referenzen
- C23-Standard (ISO/IEC 9899:2024)
- 7.2/3 Diagnostics <assert.h> (p: TBD)
- C17-Standard (ISO/IEC 9899:2018)
- 7.2/3 Diagnostics <assert.h> (p: 135)
- C11-Standard (ISO/IEC 9899:2011)
- 7.2/3 Diagnostics <assert.h> (p: 186)
[bearbeiten] Siehe auch
| C++ Dokumentation für Statische Assertion
|