2011-11-15 51 views

回答

2

會不會考慮一個常量表達式?

不,它不會。在C++ 11中,引入了一個新的關鍵字constexpr,它有助於概括常量表達式的概念。如果String來自​​的構造函數足夠小,那麼它可以被聲明爲constexpr;然而,這樣的構造函數可能必須分配內存,所以它不合格。

+0

在上面的例子中,變量i可能不是一個常量表達式,因爲它可以被改變,對嗎?一個常量表達式必須是明確的並且不會改變的東西 - 因此編譯器可以確定它的值。唯一令我困惑的是它需要成爲一個整體類型嗎?如何像常量字符串(「abc」);? – yapkm01

+0

@ yapkm01:是的,在C++中,常量表達式必須是整型。 –