经常看到有类似于if(!hwnd){...} 请问一下这个!hwnd表达式 代表的是什么意思 是什么的缩写那
if语句中的整型会被转换为BOOL型(0为false,非0为true),!用于对转换为BOOL型的值取反。上述语句主要是判别窗口句柄hWnd是否为NULL。
主要用来判断hwnd这个句柄是不是NULL
!代表取反
如果hwnd不为NULL,那么!hwnd就为假,不会进入if分支
如果hwnd等于NULL,那么!hwnd就为真,进入if分支执行某些操作
hwnd:窗口句柄,整形, 实质为int
hwnd 通常为整形,某个对象句柄;如果不对其赋值,初始参数 hwnd =NULL;
if(!hwnd) 也就表示这个句柄没有被赋值;需要对其操作;
if(!hwnd) 中的!是“非”运算符,你可以这样理解 if(hwnd==NULL)
表示如果NULL == hWnd
判断句柄是否为空,单目运算符哦。