1、static : 使得对象的存储形式变成静态存储,链接方式变成内部链接。
2、 预处理语句仅仅只是简单值替代,缺乏类型的检测机制 #define USER_NUM_MAX 107
const 推出的初始目的是取代预编译指令 #define
3、 表达式形式的宏定义: 它只是预编译器上符号表的简单替换,不能进行参数有效性检测及使用C++类的成员访问控制。 #define ExpressionName(Var1,Var2) (Var1+Var2)*(Var1-Var2)
inline 替代表达式形式的宏定义
参考:https://www.cnblogs.com/iloveyoucc/archive/2012/03/18/2404658.html