zoukankan      html  css  js  c++  java
  • 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;}();

    {}  语句实现体

    天子骄龙

  • 相关阅读:
    学习自建调试体系(二)
    寻找未导出函数的函数地址
    Http
    git忽略.gitignore
    Flask-sqlacodegen
    liunx速查
    BBS论坛项目
    vim操作
    部署
    python3 环境搭建
  • 原文地址:https://www.cnblogs.com/liming19680104/p/11448829.html
Copyright © 2011-2022 走看看