zoukankan      html  css  js  c++  java
  • 有些lambda表达式就可以体现出编程中「Context(上下文)」环境

    编程中什么是「Context(上下文)」?

     

    每一段程序都有很多外部变量。只有像Add这种简单的函数才是没有外部变量的。一旦你的一段程序有了外部变量,这段程序就不完整,不能独立运行。你为了使他们运行,就要给所有的外部变量一个一个写一些值进去。这些值的集合就叫上下文。


    譬如说在C++的lambda表达是里面,[写在这里的就是上下文](int a, int b){ ... }。

    #include "stdafx.h"
    #include <iostream>
    int main()
    {
        auto add = [](auto x) { return [x](auto y) {return x + y; }; };
        auto t = add(2);
        auto p = t(3);
        std::cout << p;
        return 0;
    }

    -----------------------------------------------------------------------

    lambda表达式也可以用在def函数中。

    看例子:

    这里定义了一个action函数,返回了一个lambda表达式。其中lambda表达式获取到了上层def作用域的变量名x的值。

    a是action函数的返回值,a(22),即是调用了action返回的lambda表达式。

    这里也可以把def直接写成lambda形式。如下

  • 相关阅读:
    redis 集群
    redis--主从复制
    redis--AOF
    React——组件
    React——文件夹分析
    WEB面试
    WEB基础——接收后台文件方法
    WEB基础——AJAX
    C#进阶——IOC
    C#基础——HttpContext
  • 原文地址:https://www.cnblogs.com/leijiangtao/p/11958293.html
Copyright © 2011-2022 走看看