一、优点
- 提高代码的可读性,方便修改。
- 提高程序的运行效率:使用带参数的宏既代替了函数的功能,有避免了函数入栈和出栈操作,减少了系统的开销,提高了运行的效率。
二、缺点
1.由于使用宏的时候,只是进行简单的字符替换,不会对类型进行检查,存在安全隐患。
2.由于宏是直接替换的,所以会导致代码稍微长一点。
3.嵌套定义过多可能会影响程序的可读性,会容易出错。
4.边界效应。由于宏定义的时候,其各个分量未加括号,而在使用宏定义的时候,传递的参数是变量的表达式,然后经过系统展开后,由于优先级的原因,导致其结果不是你所希望的.