x;
这就是我认为会发生的事情:x被隐式地传递给一个bool,第一个否定被执行,然后最后一个否定被执行,所以一个强制转换和两个否定。我的问题是,与使用双重否定相比,不仅仅是转换为bool (执行int y = (bool)x;而不是int y = !!x)更快,因为您正在从执行中保存两个否定句。我可能错了,因为我在Linux内核中经常看到双重否定,但我不知道我的直觉哪里出了问题,也许你可以帮我解决问题。
该工具是基于windows和linux的。我们把代码写到窗户里。为了测试目的,首先在windows上进行编译。最后,执行linux构建,在linux上实际运行整个生产测试。我创建了一个具有以下签名的函数: long a=0, const但是,当代码在linux上编译时,我会得到一个错误,说明“调用没有匹配的函数”。&, cla