【tip5】为什么不建议使用宏来表示常量
2024-01-22 本文已影响0人
papi_k的小茅屋
原因:
1.宏是简单的文本替换,在预处理阶段完成,运行报错时直接报相应的值。
2.跟踪调试时也是显示值,不显示宏名。
3.宏没有类型检查,不安全。
4.宏没有作用域。
建议,可将
#define MAX_VALUE 20
改为
const int MAX_VALUE = 20;
或
constexpr int MAX_VALUE = 20; // 在C++ 11及之后的版本
yo peace!