不知道其他人遇到过如下VC中如下error没有:
warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
比如我写一个函数,出于某种原因我要返回C++标准类型bool,但是很多windows api都是BOOL的,编译的时候编译器默认warning设置会出现上述warning:
bool test() {
BOOL a;
return a;
}
今天在读chromium代码的时候,发现这么一段:
bool
WidgetWin::IsVisible() const {
return !!::IsWindowVisible(hwnd());
当时觉得这个代码作者很搞,干吗写两个否定(!!)丫的不是等于没写么?随口骂了句sb,仔细想想,是我SB了,这样可以消除上述的warning,要知道,从很多warning中区别哪些要care的哪些不要care在大规模项目中尤其重要,又学一招。
以后遇到问题首先要从自己出发,首先怀疑自己,否定自己,再去分析问题,事实一次次证明,大多数我们自己是sb了
}
本博客搬迁至http://www.macode.net/
本文分享了一段Chromium代码中如何通过双重否定消除编译器警告的实例,并强调了在解决技术问题时首先怀疑自己的重要性。通过学习如何区分警告的严重程度,开发者可以在大规模项目中更有效地解决问题。
2385

被折叠的 条评论
为什么被折叠?



