zoukankan      html  css  js  c++  java
  • 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指针。

    }

  • 相关阅读:
    POJ2395 Out of Hay
    POJ2421 Constructing Roads
    POJ2031 Building a Space Station
    POJ1751 Highways
    [NOIP2007] 提高组 洛谷P1099 树网的核
    [NOIP2007] 提高组 洛谷P1005 矩阵取数游戏
    [NOIP2007] 提高组 洛谷P1097 统计数字
    [NOIP2007] 提高组 洛谷P1098 字符串的展开
    [NOIP2007] 普及组
    洛谷 通天系列 P1760 P1757 P1759
  • 原文地址:https://www.cnblogs.com/YZFHKMS-X/p/12048041.html
Copyright © 2011-2022 走看看