宏定义(Macro definition)是一种预处理器指令,用以将一组字符替换为另一个字符组。它在编译时期展开,不会增加代码长度。
标记宏(Macro)即为定义在程序中,被称为“宏定义”的一种语法结构。通过定义标记宏,我们可以将一些重复且复杂的代码片段复制粘贴以减少工作量,进而提高代码的可读性、可维护性和可移植性。
由于标记宏在预编译阶段被展开,所以它具有以下特性:
- 宏定义不进行类型检查,有可能导致难以发现的编译错误;
- 宏定义展开时从文本替换,可能带来意料之外的问题;
- 宏定义展开时可能增加体积,对于大量使用宏的程序,代码体积会急剧膨胀。
总的来说,标记宏虽然是一种非常实用的语法结构,但是在使用时需要注意合理性和安全性,以达到代码简洁、高效、正确的目的。