昔、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を利用せずに、コマンド・処理を呼び出せました。
昔々のテクニックですね。