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++中,常量表達式必須是整型。 –