根据cppref,constant expression
不一定是core constant expression
。
我的问题:
是否constant expression
不是core constant expression
?
答案 0 :(得分:3)
[expr.const]/5将“常量表达式”定义为:
常量表达式是glvalue核心常量表达式 指的是一个允许的常量结果的实体 表达式(如下定义)或prvalue核心常量表达式 其值满足以下约束条件:[...]
没有一个常量表达式不是核心常量表达式,而cppreference没有其他声明。
答案 1 :(得分:1)
[expr.const]列出了一系列不是核心常量表达式的东西。这些包括有符号整数溢出(32位机器上的65536 * 32768),除以零以及某些移位操作。