如果static_assert
仅限于编译时评估,如果它可以处理编译时和运行时计算表达式,为什么不总是坚持assert
?
答案 0 :(得分:6)
assert(...)
总是在运行时进行评估,当然你可以用编译时计算表达式来调用它,但是你只能在运行时看到断言。
有时候你想要确保只有当expression
true
为static_assert(expression)
时才编译某些东西,那就是你使用的时候
list<Izdelki> Kosarica
如果未满足则会产生编译器错误。
这是直接的,并且尽早失败&#34; (也可能很难; - )