原因:
1.宏是简单的文本替换,在预处理阶段完成,运行报错时直接报相应的值。
2.跟踪调试时也是显示值,不显示宏名。
3.宏没有类型检查,不安全。
4.宏没有作用域。
建议,可将
#define MAX_VALUE 20
改为
const int MAX_VALUE = 20;
或
constexpr int MAX_VALUE = 20; // 在C++ 11及之后的版本
yo peace!
原因:
1.宏是简单的文本替换,在预处理阶段完成,运行报错时直接报相应的值。
2.跟踪调试时也是显示值,不显示宏名。
3.宏没有类型检查,不安全。
4.宏没有作用域。
建议,可将
#define MAX_VALUE 20
改为
const int MAX_VALUE = 20;
或
constexpr int MAX_VALUE = 20; // 在C++ 11及之后的版本
yo peace!
本文标题:【tip5】为什么不建议使用宏来表示常量
本文链接:https://www.haomeiwen.com/subject/ewbyodtx.html
网友评论