不知道其他人遇到过如下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/