百度百科:C++11新特性, 静态断言(Static assertions),_Static_assert(),在解释 #if 和 #error 之后被处理。
简单的说就是检测代码“不可能”事件的发生。如果真的发生了,在编译期间编译器会报错,表示代码的逻辑存在问题。断言只在debug生效,在release中没有效率的影响。
C++函数: static_assert(constant-expression, string-literal)
- constant-expression:判断条件,成功返回1,失败返回0,失败是打印string-literal