宏定义可以实现类似于函数的功能,但是它终归不是函数,而宏定义中括弧中的“参数”也不是真的参数,在宏展开的时候对 “参数” 进行的是一对一的替换。
建议:宁可以编译器替换预处理器(尽量以 const、enum、inline 替换 #define)。
1、对于单纯的常量,最好以const对象或enums替换#defines。
2、对于形似函数的宏(macros),最好改用inline函数替换#defines。
3、#include仍然是必需要的,而#ifndef / #endif也继续扮演控制编译的重要角色。
C++宏定义详解请参考:https://www.cnblogs.com/fnlingnzb-learner/p/6903966.html
如有错误或不足欢迎评论指出!创作不易,转载请注明出处。如有帮助,记得点赞关注哦(⊙o⊙)
更多内容请关注个人博客:https://blog.csdn.net/qq_43148810