こんにちは、akiです。
プログラムに慣れてくると、処理そのものを引数に取りたい時が出てくると思います。そんな時は「function」を使うと便利です。
functionの使い方
functionの定義の例
std::function<void(void)> f_func = [this]{ CCLOG("piyo"); };
functionを使う側の定義の例
void HelloWorld::testFunc(std::function<void()> f_func){ CCLOG("hoge"); f_func(); CCLOG("fuga"); }
呼び出し方
testFunc(f_func);
実行結果
hoge
piyo
fuga
Cocos2d-xのボタンの実装などに使えばコーディングの手間をいくらか省けると思います。