_Static_assert(C11)

作者:追风剑情 发布于:2020-3-23 15:03 分类:C

assert()表达式是在运行时进行检查。C11新增了一个特性:_Static_assert声明,可以在编译时检查assert()表达式。因此,assert()可以导致正在运行的程序中止,而_Static_assert()可以导致程序无法通过编译。_Static_assert()接受两个参数,第1个参数是整型常量表达式,第2个参数是一个字符串。如果第1个参数表达式求值为0(或_False),编译器会显示字符串,而且不编译该程序。

//sizeof表达式被视为整型常量
//_Static_assert()可以出现在函数中,也可以出现在函数外。
//在编译阶段对常量表达式进行检测,如果为假,则停止编译。
_Static_assert(常量表达式, "错误信息字符串");

标签: C语言

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号