« OggTheoraのAPI | メイン | イベントを割り当ててみる »

2004年12月01日

キリカ・グライト開発日誌:: C++Builderのイベント

    

Builderでイベントを実行中に割り当てようとして、ふと疑問に思った。
サンプルでは何気なく、クラスのメンバ関数を代入しているが、C++でそんなことは出来ないんじゃなかったっけ?
つまり、次のような文だが、
Event1 = Class1->fun;
このようには出来なかった気がする。この場合は、
Event1 = Class1::fun;
としなければならず、Event1の定義を見ると関数ポインタのようなので、Class1::funはstaticなメンバ関数でなければならないはず。
でも、不思議なことにBuilderでは普通に出来ている。
変だなぁと思ってよく見ると、__closureというキーワードが間に入っている。
ヘルプを見ると、これはBuilder独自の拡張のようで、クロージャと呼ばれる物らしい。
で、いい感じにthisポインタを取得して、そのメンバ関数をコールしてくれるようだ。
なるほどね。
独自拡張だったのか。



投稿者 Takenori : 2004年12月01日 01:14




comments powered by Disqus
Total : Today : Yesterday : なかのひと