static_assert
來自 cppreference.com
定義於標頭檔案 <assert.h> |
||
#define static_assert _Static_assert |
(C11 起) (C23 中已移除) |
|
這個方便宏擴充套件為關鍵字 _Static_assert。
目錄 |
[編輯] 示例
執行此程式碼
#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"); }
[編輯] 注意
自 C23 起,static_assert 本身就是一個關鍵字,也可能是一個預定義宏,因此 <assert.h> 不再提供它。
[編輯] 參考
- C23 標準 (ISO/IEC 9899:2024)
- 7.2/3 診斷 <assert.h> (p: 待定)
- C17 標準 (ISO/IEC 9899:2018)
- 7.2/3 診斷 <assert.h> (p: 135)
- C11 標準 (ISO/IEC 9899:2011)
- 7.2/3 診斷 <assert.h> (p: 186)
[編輯] 另請參閱
C++ 文件 關於 靜態斷言
|