C++语言里面到底什么是宏

来源:百度知道 编辑:UC知道 时间:2024/06/28 12:06:32

非常简单的理解: 宏就是用来告诉编译器如何编译的一些指令.

例如:
#define DEFABC 0x0001

其实没什么不好理解的,当编译器编译到#define DEFABC 0x0001这里的时候把它记了下来,然后继续往下编译,以后编译的时候如果碰到了DEFABC,就把DEFABC这个宏名替换成0x0001常量,说白了也就是起到了替换作用.宏的应用很多,我经常用宏来做窗口的参数.
例如:
#define DDWS_FRAME 0x0001 //二进制00000001
#define DDWS_CAPTION 0x0002 //二进制00000010
#define DDWS_HSCROLLBAR 0x0004 //二进制00000100

如果有创建窗口函数:
HDDWND CreateWindow(unsigned short nStyle);//声明,假设之后以定义

在应用中调用:
CreateWindow(DDWS_FRAME|DDWS_HSCROLLBAR);//函数内会按位检查是否为真值,照这个调用我就知道第1位为真是带有框架的风格.第2位假值,没有标题栏.第3位真值,有水平滚动条.