25 January 2024

C++ 核心指南目录

“Use ALL_CAPS for macro names only”

理由

避免宏名字和其他的变量和类型名字混淆。

例子

void f()
{
    const int SIZE{1000};  // Bad, use 'size' instead
    int v[SIZE];
}

注意

此规则不适用于不是宏定义的符号常量:

enum bad { BAD, WORSE, HORRIBLE }; // BAD

强化

  • 标记用小写字母的宏名字
  • 标记用全大写的非宏定义名字