• C/C++ C++ 11 兰姆达


    {

        auto layer = Layer::create();
        auto event = cocos2d::EventListenerTouchOneByOne::create();
        event->onTouchBegan = [=](Touch*, Event*)->bool
        {
            this->createMSG("res/box/box_0.png", "res/btn/close_1.png", UTF_8("冬虫夏草app"));
    #ifndef _WIN32
            Device::vibrate(5.0f);
    #endif
            return true;
        };
        event->onTouchMoved = [=](Touch*, Event*)
        {

        };
        event->onTouchEnded = [=](Touch*, Event*)
        {

        };
        event->onTouchCancelled = [=](Touch*, Event*)
        {

        };
        


        auto listener = cocos2d::EventListenerKeyboard::create();
        listener->onKeyReleased = [=](EventKeyboard::KeyCode code,Event *e)
        {
            this->createMSG("res/box/box_0.png", "res/btn/close_1.png", UTF_8("冬虫夏草app ") + framework::tostring((int)code));
        };

        auto ed = layer->getEventDispatcher();
        ed->addEventListenerWithSceneGraphPriority(event, layer);
        ed->addEventListenerWithSceneGraphPriority(listener, layer);
        this->addChild(layer);

    }

    最好采用=传递

    & 引用传递要好好考虑,有可能会破环某些栈内存

    要这样[&a,&b] 这样最好,

    {

    如果是[&] 改变父级的内存 并不能保证会不会出错

    尤其是堆内存这些

    }

    {

    1.[var]表示值传递方式捕捉变量var;
    2.[=]表示值传递方式捕捉所有父作用域的变量(包括this);
    3.[&var]表示引用传递捕捉变量var;
    4.[&]表示引用传递方式捕捉所有父作用域的变量(包括this);
    5.[this]表示值传递方式捕捉当前的this指针。

    }

  • 相关阅读:
    MySQL explain,Extra分析(转)
    MySQL explain,type分析(转)
    HTTP报文结构和内容(转)
    linux 环境 Xshell操作数据库
    服务器线上问题排查研究
    服务性能指标:PV、UV、TPS、QPS
    Git推送错误Remote: User permission denied错误解决方法
    SQL Server表关联
    SQL Server执行计划
    C#正则Groups高级使用方法
  • 原文地址:https://www.cnblogs.com/YZFHKMS-X/p/12048041.html
Copyright © 2020-2023  润新知