assert 使用问题

最近RELEASE老出问题。原因有可能是,assert 内部最好不要使用函数。

理由是:

assert (f);

中的f,如果它是个函数,那么在 Release 中,它将不会被执行。

您最好这样用:

bool fRet = f (); // 注:多声明一个变量,并不会产生什么效率上的影响,因为函数本身就是按值返回的,它必定已经产生了一个bool类型的返回值。

assert (fRet);

这样用在RELEASE用可能出现问题。

原文地址:https://www.cnblogs.com/lin1270/p/2359307.html