- 对于单纯常量,最好以const对象或enums替换#defines
- 对于形似函数的宏,最好该用inline函数替换#defines
- 尽可能使用const
char greeting[] = "hello";
char* p = greeting; //non-const pointer, non-const data
const char* p = greeting; // non-const pointer, const data
char* const p = greeting; //const pointer, non-const data
const char* const p = greeting; //const pointer, const data
如果关键字const出现在星号左边,表示被指物是常量;如果出现在星号右边,表示指针自身是常量;如果出现在星号两边,表示被指物和指针两者都是常量。