無名関数は便利だな・・・・

 昔、C言語やC++言語をやっていた頃、無名関数がなくて、関数ポインタを使う際に、名前を考えるのが面倒だった。


 今は、死語になったかもしれないけど、この関数ポインタというのは、非常に便利だったし、必要だった。


 絶対必要だったのは、タイマーなどに、ハンドラーを渡す場合。ハンドラーは関数ポインタだった。
 GTKだったかな。これも現状のJAVAとかと同じで、ボタンとかにイベントを設定するんだけど。
 その際に、関数ポインタを使った。


 わざわざ、void funcXXXX_Listener(){ xxxxxxxxx; } とかして、 名前、funcXXXX_Listenerを考えるのが面倒だった。
 そこしか、使わないんだから、名前必要ないじゃないと思ったけど、
 私以外にも思った人は多かったようですね。


PS
 
 どうでも良いけど、関数ポインタの使い方の一つとして、関数ポインタ配列というのがありました。

詳しくは、こちらを参考に。
http://www5c.biglobe.ne.jp/~ecb/c/16_04.html

 これを上手く使うと、処理が圧倒的に簡素になる場合がありましたね。
 例えば、メニューとかで、enumとか使って、0、1、2、3、とかの数値で、どのメニューが押されたのか管理した場合。
 switchやcaseを利用せずに、コマンド・処理を呼び出せました。

 昔々のテクニックですね。