C++、PHP、Javascript、...、对lambda表达式的支持

本文详细解析了不同编程语言(如PHP、C++、JavaScript)中Lambda表达式的实现方式及其特点,着重强调了引用外部变量、传递参数等关键概念。通过实例代码,展示了如何在实际开发中灵活运用Lambda表达式提升代码效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

lambda

lambda表达式,也叫Closure(闭包),也叫匿名函数。由于其强大之处,几乎被所有主流开发语言支持,本文试图列出大部分语言中lambda表达式的样例代码,后续持续更新。

PHP对lambda的支持

<?php

$i = 12;
$j = 33;
$callable = function () use ($i, &$j)
{
    echo $i . "\n";
    echo $j . "\n";
};

$callable();

$i++;
$j++;

$callable();
  • 必须显式引用外部变量,区分值和引用传递。

C++对lambda的支持

#include <iostream>
using namespace std;

int main(int argc, char** argv)
{
    int i = 12;
    int j = 33;
    auto callable = [i, &j](){
        cout << i << endl;
        cout << j << endl;
    };

    callable();

    i++;
    j++;

    callable();
}
  • 必须显示引用外部变量,区分值传递和引用传递。
  • 支持[=][&]等简易语法来引用全部外部变量。

Javascript

<script>
var i = 12;
var j = 33;

var callable = function(){
    alert(i);
    alert(j);
}

callable();

i++;
j++;

callable();
</script
  • 无需引用外部变量,外部变量自动可用
  • 所有变量均按照引用传递。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值