小编far*_*mir的帖子

编译器可以优化输出调用以发挥可能的副作用吗?

如果有这样的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()返回错误值.但最近我被警告说我的代码不能保证始终调用函数.

c c++

2
推荐指数
1
解决办法
269
查看次数

标签 统计

c ×1

c++ ×1