 |
1樓
巨大八爪鱼
2016-5-23 22:23
这是因为在Windows.h头文件中定义NULL宏时会进行语言判断。 如果当前语言是C语言,就把NULL定义为(void *)0, 如果是C++的话就直接定义为0
|
 |
2樓
巨大八爪鱼
2016-5-23 22:25
例如在定义窗口类的时候,C语言里面必须写成: wcex.style = (UINT)NULL; 但C++里面可以直接写: wcex.style = NULL;
CreateWindow函数也是一样。 C: hwndCombo = CreateWindow(WC_COMBOBOX, NULL, WS_CHILD | WS_VISIBLE |
CBS_DROPDOWNLIST, 10, 160, 200, (int)NULL, hWnd, NULL, hInst, NULL); C++: hwndCombo = CreateWindow(WC_COMBOBOX, NULL, WS_CHILD | WS_VISIBLE |
CBS_DROPDOWNLIST, 10, 160, 200, NULL, hWnd, NULL, hInst, NULL);
|
 |
3樓
巨大八爪鱼
2025-12-29 15:41
在C语言里面,推荐空数据直接写0。NULL专门用作空指针,而不是空数据。
例1: wcex.style = 0; 例2: hwndCombo = CreateWindow(WC_COMBOBOX, NULL, WS_CHILD | WS_VISIBLE |
CBS_DROPDOWNLIST, 10, 160, 200, 0, hWnd, NULL, hInst, NULL);
|