这个Item主要针对C程序员。
一、对于单纯常量,最好以const对象或者enums替换#define;
二、对于形似函数的宏,最好用inline函数替换#define.
注意:
1、什么是the enum hack?
在类中定义static类型时编译器不允许赋初值(只能声明),但是你确实要在类中使用该值时,可以用enum代替static。
有一个理论基础:一个属于枚举类型的数值可权充ints被使用。
the enum hack是模版元编程的技术基础。
编写模版函数时,参数一般写成引用类型(参数传递类型时按引用传递)。
(由于我们不知道函数的类型是什么,所以采用pass by reference-to-const.)