| 常量定义 | #define PI 3.14159 | 定义一个常量宏 PI,其值为圆周率。 |
| 代码片段 | #define SQUARE(x) ((x) * (x)) | 定义一个宏 SQUARE,接受一个参数 x 并计算其平方。 |
| 带参数的宏 | #define MAX(a, b) ((a) > (b) ? (a) : (b)) | 定义一个宏 MAX,接受两个参数并返回较大的一个。 |
| 字符串化 | #define STRINGIZE(x) #x | 定义一个宏 STRINGIZE,将参数 x 转换为字符串。 |
| 条件编译 | #if DEBUG_MODE > 0
...
#endif | 如果定义了 DEBUG_MODE 并且大于 0,则包含条件编译的代码块。 |
| 重复操作 | #define REPEAT_3(macro, data) macro(data) macro(data) macro(data) | 定义一个宏 REPEAT_3,重复执行三次给定的宏 macro。 |
| 取消宏定义 | #undef PI | 取消之前定义的宏 PI。 |
| 包含文件 | #include <iostream> | 包含标准输入输出流库,这不是宏定义,但是是预处理器指令。 |
| 保护宏定义 | #ifndef MY_HEADER_H #define MY_HEADER_H #endif | 使用 include guards 来防止头文件被多次包含。 |