• C++--- Lambda匿名函数表达式


     

    视频教程:https://www.bilibili.com/video/av66419552/  

    格式:

    [capture](parameters)mutable->returm-type{};     函数的声明

    [capture](parameters)mutable->returm-type{}();   函数的调用 

    []  表示表达式的开始,必须有:

    如果[]里为空,表示任何变量都不会传递给lambda表达式

    [=]  表示默认按值传递,传递给{}中用到的变量或对象

    按值传递:语句体内修改变量值,不会影响外面的变量值

    注意:捕获的变量将不会被作为垃圾回收,直至引用变量的委托超出范围为止

    [&]  表示默认按引用传递

    引用传递,由于两个变量指向同一个数据,所以语句体内修改变量值,会影响外面的变量值

    [var]:var是变量名,只传递变量var,其它不能传;前面可以添加&前缀,表示var变量按引用传递

    ()  参数列表--可选

    没有参数可以省略

    可以按值传递,如 (a,b);也可以按引用传递,如 (&a,&b)

    mutable 选项(可选)--按值传递时使用

      加上mutable后,在语句体类可以修改变量值;省略变量只能只读

    returm-type---返回值类型

    如果只有一处return时,可以省略,自动判断出类型

    int ret=[]()->int{return 1000;}();

    {}  语句实现体

    天子骄龙

  • 相关阅读:
    组内分享总结
    Java虚拟机内存
    代理 正向代理 反向代理
    Class文件打包成jar并执行
    Oracle 并集交集差集
    Sysstat安装以及简单操作
    树结构列表结构相互转换 js
    nginx配置root和alias的区别
    js call apply 用法
    VS Code配置同步
  • 原文地址:https://www.cnblogs.com/liming19680104/p/11448829.html
Copyright © 2020-2023  润新知