虚幻C++断言check / verify / ensure
断言就是对一个表达式的判断,若判断结果为false,则输出诊断消息并终止程序运行。断言可以提升程序的可读性与安全性,在错误发生时,能够及时终止行为,帮助程序员定位错误。

虚幻引擎为我们提供assert等同项的三个不同族系:check / verify / ensure。
先附上文档的内容,然后我再用比较能看懂的话来解释。

check(exp) 出现错误时,会终止程序,但不能确保exp(表达式)执行。checkf(exp,TEXT(...)) 与前者的区别就是可以在第二个参数加入打印日志内容。
checkNoEntry()检测有没有进入函数,一旦进入就崩溃
checkNoReentry()检测函数有没有被执行一次以上,超过一次就崩溃
checkNoRecursion()防止递归,无限循环

与check(exp)基本相同,不同之处在于它能保证exp一定执行

ensure()阻断,不崩溃
ensureMsgf()阻断,不崩溃,打印额外信息
最后,如果引擎报触发一个断点,要记得往上翻下日志,看看诊断。

(完)

