如果有这样的C或C++代码:
if (func())
;
Run Code Online (Sandbox Code Playgroud)
func()如果无法确定函数是否有任何副作用,可以编译器优化调用函数吗?
我的问题的起源:我有时会以这样的方式调用assert宏:
if (func())
assert(0);
Run Code Online (Sandbox Code Playgroud)
如果我想要确保func()的总是打来电话,如果asssertion失败在调试模式下func()返回错误值.但最近我被警告说我的代码不能保证始终调用函数.