宏定义中不能包含 return 语句,因为宏展开时会直接替换代码,而不是像函数那样有返回值。...Studio 2019 还提供了一个更直观的方式来查看内联函数的情况:
在代码编辑器中,将鼠标悬停在内联函数的调用处,Visual Studio 会弹出一个提示框,显示该函数是否被内联展开。...#define NULL 0//在 C++ 编译环境下,将 NULL 宏定义为 0。...这是因为在 C++ 中,0 可以隐式转换为任何指针类型,所以将 NULL 定义为 0 是合理的
#else//如果不是 C++ 编译环境,则执行这个代码块。...#define NULL ((void *)0)//在 C 语言编译环境下,将 NULL 宏定义为(void *)0。