我正在处理一些生产代码,其中多次遇到以下语句:
可能是重复问题:
C++代码中的双重否定。
我正在处理一些生产代码,其中多次遇到以下语句:
Class.func(!!notABool);
前几次我将它解释为一个程序员的怪癖(也许是为了强调这是一个条件语句而不是传递给函数的数字?),但我遇到了几个使用上述代码的语句,现在我想知道它是否真的有所区别。在大多数情况下,notABool
是一个数字(int、float、double……我见过这三种)。我的初步猜测是它类似于输入:
Class.func((bool)notABool);
but I am not entirely sure?