こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

コールバック関数について

コールバック関数の意味は、
特定の条件が成り立った時に呼び出してもらうだと思うんですが、

コールバック関数を使うメリット・利点は何なんでしょうか?

投稿日時 - 2008-11-02 23:10:13

QNo.4449389

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

下記URLにまとまった説明があります。
http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF_(%E6%83%85%E5%A0%B1%E5%B7%A5%E5%AD%A6)

簡単に言うとライブラリのような汎用プログラム(フレームワーク)を作るときに役立つ手法です。アプリケーション固有の動作を含んだライブラリを作りたいとき、固有の動作をコールバック関数にします。
具体的な例としてはqsortの比較関数がありますね。ソートアルゴリズム自体は比較と交換ができるデータ構造なら何にでも適用できますが、比較方法は色々です。この比較方法をコールバック関数にして渡すことで、共通のqsort関数を作れるわけです。
オブジェクト指向言語ではクラスの継承と関数のオーバーライドで同様のことができますのでコールバック関数は必要ないですが、内部動作は似たようなものですね。

投稿日時 - 2008-11-03 21:25:23

GUIプログラミングはコールバックしてもらわないと使い物になりません

投稿日時 - 2008-11-03 01:17:11

ANo.1

割り込みエントリーのことをMSがコールバック関数と呼ぶようにしたのでは。
メインフレーム時代にそういう用語は無かったような。

利点
割り込みを使うシステム(あらゆるコンピューター)に必要。

投稿日時 - 2008-11-02 23:29:29

あなたにオススメの質問