C++"var foo = !! :: bar()"语法?

Jul*_*dim 7 c++ syntax cwnd

寻找关于如何使用HWND窗口进行全屏模式的一些解释,我发现这个响应Win32:全屏和隐藏任务栏

铬响应代码有这一行:

saved_window_info_.maximized = !!::IsZoomed(hwnd_);
Run Code Online (Sandbox Code Playgroud)

来自此文件https://src.chromium.org/viewvc/chrome/trunk/src/ui/views/win/fullscreen_handler.cc?revision=HEAD&view=markup on the line 56

我读:

var bar equal not not of mother method
Run Code Online (Sandbox Code Playgroud)

它是否正确 ?

这个"!! :: IsZoomed()"是什么意思?

为什么不呢

saved_window_info_.maximized = CWnd::IsZoomed(hwnd_);
Run Code Online (Sandbox Code Playgroud)

Jan*_*dec 10

!!是简单!!两个否定.双重否定减少到noop,但它将值转化为bool.所以考虑一个替代语法(bool).它的优点是:

  1. 它在C中工作,在C89中没有单独的bool类型(强制值为0或1)和
  2. MSC++并没有像它那样为它生成愚蠢的"性能警告" (bool).

其余的很简单::IsZoomed,即IsZoomed从顶级命名空间运行.