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