标签: c++ constant-expression
假设我有以下内容:
int i = 1; String str("abc");
将str视为常量表达式吗?
str
从许多C ++书籍中,似乎必须将常量表达式计算为整数类型。
答案 0 :(得分:2)
是否会考虑一个常量表达式?
不,它不会。在C ++ 11中,引入了一个新的关键字constexpr,它有助于概括常量表达式的概念。如果来自String的{{1}}构造函数足够小,那么可以将其声明为"abc";但是这样的构造函数可能必须分配内存,因此它不符合条件。
constexpr
String
"abc"