This question already has answers here:
Closed last year.
!! c operator, is a two NOT?
(4个答案)
我在开源库中见过一些代码。他们检查是否在变量中设置了特定的标志,如果
我的问题是,为什么不直接写if
如果
(4个答案)
我在开源库中见过一些代码。他们检查是否在变量中设置了特定的标志,如果
!!(flag & FLAG1)
我的问题是,为什么不直接写if
(flag & FLAG1)
?第一个版本更优化了吗? 最佳答案
它可以这样使用:
int a=!!(flag & FLAG1);
如果
flag & FLAG1
计算结果为0,则a
将被分配为0。如果flag & FLAG1
计算为另一个值,则a
将分配给1。关于c - 用法!在检查标志时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49526642/
10-12 16:18