用法!! 检查标志

use*_*178 0 c

我在开源库中看到了一些代码.它们检查是否在带有测试if的变量中设置了特定标志!!(flag & FLAG1)

我的问题是,为什么不简单地写,(flag & FLAG1)而不是?第一个版本是否更加优化?

klu*_*utt 7

它可以这样使用:

int a=!!(flag & FLAG1);
Run Code Online (Sandbox Code Playgroud)

如果flag & FLAG1计算结果为0,a则将指定为0.如果flag & FLAG1计算为另一个值,a则将指定为1.