zoukankan      html  css  js  c++  java
  • c++11 lambda(匿名函数)

    #include <iostream>
    #include <functional>
    using namespace std::placeholders;
    //lambda即匿名函数
    int main()
    {
        int a = 10;
        //当return所有的返回都是一个类型就不需要指定返回值的类型,因为编译器会自动推断
        //也可以指定返回值类型形式:[]()->int{return 1};
        //格式:[captures] (params) -> ret {Statments;}  
        auto func = [](){
            std::cout << "hheh" << std::endl;
        };
    
        //lambda中变量截取
        /*    [] 不截取任何变量
            [&} 截取外部作用域中所有变量,并作为引用在函数体中使用
            [=] 截取外部作用域中所有变量,并拷贝一份在函数体中使用
            [=, &foo]   截取外部作用域中所有变量,并拷贝一份在函数体中使用,但是对foo变量使用引用
            [bar]   截取bar变量并且拷贝一份在函数体重使用,同时不截取其他变量
            [this]            截取当前类中的this指针。如果已经使用了&或者=就默认添加此选项。*/
        
        //所有要在lambda中使用a需要
        auto func1 = [=](){
            std::cout << "hheh" << std::endl;
            std::cout << a << std::endl;
        };
        func1();
        getchar();
        return 0;
    }
        for(int i = 0; i < thread_numb; ++i)
        {
            m_libevent_threads[i]->spThread.reset(new std::thread([]
            (void* arg)
            {
                auto me = (LibeventThread*) arg;
                event_base_loop(me->thread_base, 0); //线程循环派发
            }, m_libevent_threads[i]));
        }

    可以传递参数

    m_libevent_threads[i]
  • 相关阅读:
    python的生成Jwt
    qq邮箱验证
    DJango反序列化器的参数效验
    python三元运算,继承,help函数 args
    python时间板块,计算取值,math函数
    No migrations to apply. django同步数据库失败
    redis理论部分
    Java入门——day1
    HBO《硅谷》中的二进制码
    复习总表现(每天记录一下)
  • 原文地址:https://www.cnblogs.com/zzyoucan/p/3883734.html
Copyright © 2011-2022 走看看