0
可以说我有以下几点:必须将常量表达式评估为整型吗?
int i = 1;
String str("abc");
会str
可以考虑一个常数表达式?
从很多C++书籍中,似乎必须将一个常量表达式评估为整型。
可以说我有以下几点:必须将常量表达式评估为整型吗?
int i = 1;
String str("abc");
会str
可以考虑一个常数表达式?
从很多C++书籍中,似乎必须将一个常量表达式评估为整型。
会不会考虑一个常量表达式?
不,它不会。在C++ 11中,引入了一个新的关键字constexpr
,它有助于概括常量表达式的概念。如果String
来自的构造函数足够小,那么它可以被声明为constexpr
;然而,这样的构造函数可能必须分配内存,所以它不合格。
在上面的例子中,变量i可能不是一个常量表达式,因为它可以被改变,对吗?一个常量表达式必须是明确的并且不会改变的东西 - 因此编译器可以确定它的值。唯一令我困惑的是它需要成为一个整体类型吗?如何像常量字符串(“abc”);? – yapkm01
@ yapkm01:是的,在C++中,常量表达式必须是整型。 –