effect C++ 55条
1.Perfer consts,enums,and inlines to #define;
对于单纯的常量,最好以const对象或则enums替换#define;
对于形如函数的宏,最好改为inline函数替换#define;
记住:
const常量对象一般不会生成空间分配,而是等到了需要取地址等操作的时候才会分派空间;而enums有点类似define,一直都不会分配空间;
使用define只是简单的进行替换工作,对于一个常量来说,在debug的时候只会显示数值而没有变量名,debug困难;而对于形如函数的define又会出现一些系列的替换问题,所以不好;