zoukankan      html  css  js  c++  java
  • c++11 Lambda

    基本写法

    [capture list] (params list) mutable exception-> return type { function body }
    

    capture list:捕获外部变量列表
    params list:形参列表
    mutable指示符:用来说用是否可以修改捕获的变量
    exception:异常设定
    return type:返回类型
    function body:函数体

    省略写法

    [capture list] (params list) -> return type {function body}
    [capture list] (params list) {function body}
    [capture list] {function body}
    

    外部变量

    [a]{} //值捕获
    [&a]{}  //引用捕获
    [=]{} 隐式捕获
    
    捕获形式 说明
    [] 不捕获任何外部变量
    [变量名, …] 默认以值得形式捕获指定的多个外部变量(用逗号分隔),如果引用捕获,需要显示声明(使用&说明符)
    [this] 以值的形式捕获this指针
    [=] 以值的形式捕获所有外部变量
    [&] 以引用形式捕获所有外部变量
    [=, &x] 变量x以引用形式捕获,其余变量以传值形式捕获
    [&, x] 变量x以值的形式捕获,其余变量以引用形式捕获

    参数限制:

    参数列表中不能有默认参数
    不支持可变参数
    所有参数必须有参数名

  • 相关阅读:
    override new virtual 的比较
    c#页面无内容解决方案
    插入排序
    排序算法(转)
    treenode遍历文件夹
    案例篇(1)
    索引器(转)
    迭代器的实现
    抽象类和接口的区别
    索引器与迭代器,属性的区别
  • 原文地址:https://www.cnblogs.com/WillingCPP/p/14510000.html
Copyright © 2011-2022 走看看