1
126
通用lambdas在
简单地说,lambda表达式定义的闭包类型将具有
模板化
调用运算符,而不是
你的例子是:
将使
C++ 14标准草案的第1节详细说明了给定lambda表达式的闭包类型的调用操作符是如何定义的:
最后:
正如上面的段落所解释的,泛型lambda只是带有模板调用运算符的唯一的、未命名的函子的语法糖。这应该能回答你的问题:) |
2
25
不幸的是 它们不是C++ 11的一部分( http://ideone.com/NsqYuq )以下内容:
使用G++4.7:
然而 它可以按照C++ 14的方式实现 Portland proposal for generic lambdas 以下内容:
这将在很大程度上导致通常创建匿名函子类,但是由于缺少类型,编译器将发出一个模板成员-
或者按照新的提议 Proposal for Generic (Polymorphic) Lambda Expressions
所以是的,对于每一个参数的排列,都会产生一个新的实例化,然而,函子的成员仍然是共享的(即捕获的参数)。 |
3
15
这是一个类似于(或相当于)模板的C++ 14特性(不在C++ 11)。例如, N3559 提供以下示例:
|
pickle323 · C编程:现代方法-第10章项目6-困惑 6 年前 |
Gameatro · 为什么malloc在函数内部调用时返回空指针? 6 年前 |
E. Peracchia · F#函数调用工作不正常 6 年前 |
Jorge Zazueta · 汉诺塔C++的堆栈实现 6 年前 |
adamcasey · 缓冲区溢出“攻击”中的操作序列 6 年前 |