Effective C++

367 阅读1分钟
  • 对于单纯常量,最好以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出现在星号左边,表示被指物是常量;如果出现在星号右边,表示指针自身是常量;如果出现在星号两边,表示被指物和指针两者都是常量。