文章作者:里海
来源网站:https://blog.csdn.net/WangPaiFeiXingYuan
宏
#define OFFSET 10000
常量
const int offset=10000;
常量
constexpr int offset = 10000; //C++ 11 标准新添加的关键字
今天来聊聊这三个“常量”。
#define是属于预处理器的语法,只是简单地进行宏替换,OFFSET从未被编译器看见,编译时OFFSET之前已经被预处理器替换成了10000,于是在符号表中是没有OFFSET的,于是当编译报出错误信息时,可能会导致困惑,因为错误信息中会提到10000而不是OFFSET 。如果OFFSET 非你所写,你对10000来自何处毫无概念,那追踪这信息时会浪费较多时间。使用const可以解决这个问题。
const是C+&#