C++常数表达式

C++ 对声明需要计算为常数 —的常数表达式 —表达式:

  • 数组界限

  • 选择器,以防语句

  • 位域长度规范

  • 枚举初始值设定项

是的合法在常数表达式的单个操作数为:

  • 文本

  • 枚举常量

  • 初始化常量表达式作为常数声明的值

  • sizeof 表达式

必须将非整型常数 (显式或隐式) 为整型是的合法在常量表达式。 因此,下面的代码是合法的:

const double Size = 11.0;
char chArray[(int)Size];

为整型的显式转换不在合法的常数表达式;其他类型和派生类型是非法的,但,当使用作为操作数为 sizeof 运算符。

逗号运算符和赋值运算符不能用于常量表达式。

请参见

参考

表达式的类型