10
根據n4487和其他C++ 17引用,將會有新的lambda函數說明符 - constexpr
,如果存在「明確指定函數調用運算符是constexpr
函數」。。我理解lambda表達式的動機。什麼是對我有意思的是,提議的第4點規定:默認情況下,Constexpr lambda?
4)如果
constexpr
說明符的拉姆達說明符中省略,函數調用運算符(或模板)爲constexpr
是否會滿足要求一個constexpr
功能。
這使我兩個問題:
- 爲什麼我們需要
constexpr
符?看起來lambda調用操作符是否爲constexpr
僅取決於它是否「滿足constexpr
函數的要求」,而不是來自constexpr
說明符的存在。 - 如果在默認情況下有
constexpr
lambda是可以接受的,那麼爲什麼不對其他類型的函數提出 - 例如全局函數?如果編譯器開始將所有滿足要求的函數都視爲constexpr
,會有什麼影響?