C++11 lambda 的疑问


//片段1 利用lambda

auto okBtn = MySprite::create("#jiesuotankuang_3.png", &](Ref* pSender){
    if (0)
    {
        //do xx
    }
    else
    {
        auto bg = getBackgroundLayer()->getBgSprite(); 
            auto okBtn = MySprite::create("#jiesuotankuang_3.png", &](Ref* pSender){
            //这里会崩溃
            this->getName();
            //我通过psender一路获取parent到该layer发现layer != this

        });
        okBtn->setPosition(perVec2(0.5f, 0.04f, bg));
        bg->addChild(okBtn);
    }

});
okBtn->setPosition(perVec2(0.73f, 0.04f, bg));
bg->addChild(okBtn);

2//利用bind
        
auto okBtn = MySprite::create("#jiesuotankuang_3.png", bind(&XXX::bindCallBack, this, placeholders::_1));
okBtn->setPosition(perVec2(0.73f, 0.04f, bg));
bg->addChild(okBtn);

void XXX::bindCallBack(Ref* pSender)
{
    if (0)
    {
        //xxx
    }
    else
    {
        auto bg = getBackgroundLayer()->getBgSprite();
        auto okBtn = MySprite::create("#jiesuotankuang_3.png", &](Ref* pSender)
        {
            //这个地方正常 一路根据pSender获取到layer也是跟this相等的
            this->removeFromParent();
        });
        okBtn->setPosition(perVec2(0.5f, 0.04f, bg));
        bg->addChild(okBtn);
    }
}

疑问:是不是lambda里面嵌套lambda,this指针是不是就丢失了变成野指针了?