lambd

匿名函数

1、匿名函数格式

  1.             void test01() {
    
    
            []() {
                cout << "hello world" << endl;
            }();
            
            }

2使用方式(引用)

1

void test01() {
        int a = 10;
    int b = 20;
    [&]() {//引用的方捕获外部的变量
    cout<< a<< ""<< b<< endl;
        a = 100;
        b = 200;
}();

3使用方式(值)

  1.     //值得方式捕获外部变量
        void test04(){
            int a = 10;
            int b = 20;
    
            [&a, b]()mutable {
                cout << a<< "  "<< b    << endl;
                a = 100;
                b = 200;
    
            }();
            cout    << a    << ""    << b<< endl;
        
        }

4匿名函数参数

1

int v1 = 100;
int v2 = 200;

// lambda 表达式的参数可以是: 值、指针、引用
int ret = [](int a, int b) {
    return a + b;
}(v1, v2);//尾巴做标识

cout << "ret = " << ret << endl;

5   定义变量保存匿名函数,给匿名函数增加名字

  1. 1
        void test05() {
            auto f = []() {cout << "hello wod" << endl;  };
    //名字是f    使用aut0来承接
            auto f1 = [](int a, int b) {return a * b; };
            cout << f1(10, 20) << endl;
            cout << typeid(f1).name() << endl;
            
        }

6

7

原文地址:https://www.cnblogs.com/MyLoveLiJuan/p/11980192.html