コールバック関数の比喩について
薮蹴さんにさそわれたのでボーリングしてきた。
あと、だらだらと話していたんだけど、コールバック関数について聞かれた。
コールバック関数というものはこう使うとか教えてもらったけど、どういうものなのかがイマイチわかり辛いとのこと。
普通の関数をAさんからBさんへの依頼と考える。
「Bさん、hogehogeして、heroheroして」Aさんは依頼した
は
AskAtoB(){
hoge();
hero();
return;
}
と思う。
じゃあ、「Bさん、Cさんに「hogehogeして」ってお願いしといて」とAさんは依頼した
だったらこうならない?
AskAtoB( hogehoge() ){ CsWork( hogehoge() ); retutn; }
まあ、あれだよね。関数は直に渡せないから、関数のアドレスを渡すんだけどね。
そういうと納得してくれたみたい