10
根据n4487和其他C++ 17引用,将会有新的lambda函数说明符 - constexpr
,如果存在“明确指定函数调用运算符是constexpr
函数”。。我理解lambda表达式的动机。什么是对我有意思的是,提议的第4点规定:默认情况下,Constexpr lambda?
4)如果
constexpr
说明符的拉姆达说明符中省略,函数调用运算符(或模板)为constexpr
是否会满足要求一个constexpr
功能。
这使我两个问题:
- 为什么我们需要
constexpr
符?看起来lambda调用操作符是否为constexpr
仅取决于它是否“满足constexpr
函数的要求”,而不是来自constexpr
说明符的存在。 - 如果在默认情况下有
constexpr
lambda是可以接受的,那么为什么不对其他类型的函数提出 - 例如全局函数?如果编译器开始将所有满足要求的函数都视为constexpr
,会有什么影响?