|
|
|
|
@ -0,0 +1,13 @@
|
|
|
|
|
lambda-packexpansion.cc来自http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0780r2.html。
|
|
|
|
|
当有对象在某lambda中被使用且无后续使用,为了避免copy产生的开销,最好move到闭包。c++14引入了初始化捕获完成闭包转移。但是这不支持含有省略号的参数,对这种参数进行move时需要使用tuple。新增的特性使得初始化捕获支持这样的参数包。
|
|
|
|
|
|
|
|
|
|
lambda-partmurable.cc来自http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2034r0.pdf。
|
|
|
|
|
在捕获列表里可以自选mutable的变量,更加灵活。
|
|
|
|
|
|
|
|
|
|
py-lambda-example.py是python的lambda表达式一些特性的例子。python中lambda表达式的形式为
|
|
|
|
|
|
|
|
|
|
lambda arguments_list: expression
|
|
|
|
|
|
|
|
|
|
其中expression是由argument_list中变量组成的一个表达式。python中的lambda可以作为函数的返回值,也可以作为map等函数的参数,并支持初始化。lambda表达式使python代码更紧凑,但是一个lambda表达式只能有一个expression, 大大限制了它的能力。
|
|
|
|
|
|
|
|
|
|
cc-lambda-order.cc和py-lambda-order.py分别是c++与python规约策略的例子,两者都是采用Applicative-order。
|