So bemerke ich die Ref* pSender
erscheint in vielen Rückruf-Funktion und ich frage mich in der folgenden Code:Was macht "Ref * pSender" in der Rückruffunktion?
1) Was ist das?
2) Wo kommt es her? Ich habe es nicht außerhalb des Lambda definiert.
3) Was sind einige Verwendungen davon?
mFamilyTV = MenuItemImage::create("en_block5.png", "en_block5_hover.png",
[=](Ref* pSender) {
auto jump = JumpBy::create(1.0, Vec2(0, 0), 100, 1);
mFamilyTV->runAction(jump);
});
Ihre Aufmerksamkeit und Hilfe sehr geschätzt wird :)
Dann könnte ich spare den 'pSender' für die spätere Verwendung (das heißt auf andere Tasten in Ihrem Beispiel befestigen) in einem anderen Lambda, während eine andere Taste zu schaffen, oder es wird, sobald die oben Lambda endet freigegeben/gelöscht werden? Wenn ja, könnten Sie mir bitte beibringen, wie es geht? Danke im Voraus. –
Sie sollten es nicht außerhalb des Lambda-Ausdrucks verwenden, da es keine Garantie gibt, was mit dem Lambda-Ausdruck passiert. Wenn Sie denken, dass Sie es brauchen, können Sie eine andere Frage stellen, da Sie diese nicht außerhalb des Lambda-Ausdrucks verwenden sollten. Dafür ist Ihre aktuelle Variable mFamilyTV da. – nvoigt