zoukankan      html  css  js  c++  java
  • lambda表达式复习

    lambda
    可调用对象:对于一个对象或一个表达式,如果可以对其使用调用运算符,则称它为可调用的。

    四种可调用对象:函数和函数指针,重载了函数调用运算符的类,以及lambda表达式

    lambda可能定义在函数内部,一个lambda表达式具有如下形式:
    [capture list](parameter list) -> return type { function body }
    capture lis(捕获列表)是一个lambda所在函数中定义的局部变量的列表,lambda必须使用尾置返回来指定返回类型

    可以忽略参数列表和返回类型,但必须永远包含捕获列表和函数体
    如果忽略返回类型,lambda根据函数体中的代码推断出返回类型

    向lambda传递参数
    与普通函数不同,lambda不能有默认参数(即缺省值)

    使用捕获列表
    一个lambda可以出现在一个函数中,使用其局部变量,在其中提供一个以逗号分隔的名字列表

    被捕获的变量的值是在lambda创建时拷贝,而不是调用时拷贝

    默认情况下,对于一个值被拷贝的变量,lambda不会改变其值。如果希望改变,就必须在参数列表首加上关键字mutable。

    //lambda可以看成一个未命名的类,其中的捕获列表可以看成是数据成员

  • 相关阅读:
    Ubuntu 16.04远程登录服务器--ssh的安装和配置
    设置淘宝源
    shell 循环 read line
    apt-get update 报错 W: Unknown Multi-Arch type 'no' for package 'compiz-core'
    expdp dblink
    ubuntu apt-update NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
    listener.log文件过大导致oracle假死
    rsync_ssh
    ssh多主机
    elk大纲
  • 原文地址:https://www.cnblogs.com/pixel-Teee/p/12241637.html
Copyright © 2011-2022 走看看