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

    介绍

    lambda 表达式是一种匿名函数,即没有函数名的函数。语法定义为:

    [capture] (parameters) mutable ->return-type {statement} 

    其中:

    [capture]:捕捉列表。是lambda表达式的开始标志。编译器根据它识别接下来是否是lambda函数。作用是捕捉上下文中的变量供lambda函数使用。捕获多个变量用逗号分隔。

    • [=],表示值传递方式捕捉父作用域变量(包括this);
    • [&],表示引用传递捕捉所有父作用域变量(包括this);
    • [&val],表示引用传递捕捉变量val;

    (parameters):函数参数列表,和普通函数参数列表一样。如果不需要进行参数传递,()可写可不写;

    mutable:修饰符,默认情况lambda返回一个const对象,当写了mutable,就可以取消const性质。

    • 一旦写了mutable,参数列表括号不可省略。

    ->return_type:函数返回类型。和普通函数一样,当不需要返回值时,可省略掉。

    {statement}:函数体,除了可以使用参数列表中的变量,还可以使用捕获到的变量。

    特点

    是内联函数inline。

    使用

    参数列表和返回类型都是可选的,一般经常会看到这样的形式:

    auto result = []() {//执行......}

  • 相关阅读:
    如何去掉修改Joomla、joomlart及其模版版权、标志、图标的方法
    如何joomla修改版权信息
    嫌我的键盘的backspace太小,就尝试了一下改键工具--keyTweak
    css3 -- 过渡与动画
    css3 -- 2D变换
    css3 -- 渐变
    css3 -- 颜色与不透明度
    css3 -- 背景图处理
    css3 -- 多列
    css3 -- 文本
  • 原文地址:https://www.cnblogs.com/pacino12134/p/11272669.html
Copyright © 2011-2022 走看看