必须将常量表达式求值为整型

Must a constant expression be evaluated to an integral type?

本文关键字:整型 表达式 常量      更新时间:2023-10-16

假设我有以下内容:

int i = 1;
String str("abc");

str视为常数表达式吗?

在许多c++书籍中,似乎常量表达式必须求值为整型

str会被视为常量表达式吗?

不,不会。在c++ 11中引入了一个新的关键字constexpr,它有助于一般化常量表达式的概念。如果"abc"String构造函数足够琐碎,则可以声明为constexpr;然而,这样的构造函数可能需要分配内存,所以它不符合条件。