一、宏#
宏替换是C/C++系列语言的技术特色,C/C++语言提供了强大的宏替换功能,源代码在进入编译器之前,要先经过一个称为“预处理器”的模块,这个模块将宏根据编译参数和实际编码进行展开,展开后的代码才正式进入编译器,进行词法分析、语法分析等等
1. 宏变量#
宏变量和const 修饰的在定义语义上没有什么不同,都是可以用来定义常量,但在与const的定义进行对比时,没有任何优势可言,所以建议使用const来定义常量。
1 2 3 4 5 6 7 |
|
2. 条件宏#
条件宏最常出现在头文件中,用于防止头文件被反复包含。
- 头文件的条件宏
1 2 3 4 5 |
|
- 用于判断编译的条件宏
通过DEBUG宏,我们可以在代码调试的过程中输出辅助调试的信息。当DEBUG宏被删除时,这些输出的语句就不会被编译。更重要的是,这个宏可以通过编译参数来定义。因此通过改变编译参数,就可以方便的添加和取消这个宏的定义,从而改变代码条件编译的结果.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|