締切済み コールバック関数と、再帰関数の違いってなんですか? 2019/07/18 08:15 コールバック関数と、再帰関数の違いってなんですか? みんなの回答 (2) 専門家の回答 みんなの回答 f272 ベストアンサー率46% (8653/18507) 2019/07/18 13:36 回答No.2 「自分自身を呼び出す処理が書かれている関数」のことを,再帰関数と言います。コールバック関数は,その中で呼び出す関数を外から引数として与えます。 どちらも,その処理の途中で関数を呼び出すのですが,再起関数の場合には自分自身を,コールバック関数の場合は引数として与えた関数を呼び出します。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 t_ohta ベストアンサー率38% (5320/13881) 2019/07/18 10:12 回答No.1 コールバック関数は、処理が終わった後に呼び出してもらう関数のことを指します。 再帰関数は、その関数が処理の途中で自分自身を呼んで処理を行う関数のことを指します。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ ビジネス・キャリア職業・資格情報処理技術者 関連するQ&A コールバックって・・・ コールバックって・・・ はじめまして、質問があります。 コールバックとはどういう意味でしょうか? コールバックは普通の関数呼び出しと何か違いがありますか。 [現在のイメージ] ・下位関数が上位の関数をコールすること ・マルチタスクでないと使用できない ・イベントドリブンでないと使用できない ・割り込み的なもの? ご存知の方いらっしゃいましたら、どうか御教授ください。 コールバック関数について コールバック関数の意味は、 特定の条件が成り立った時に呼び出してもらうだと思うんですが、 コールバック関数を使うメリット・利点は何なんでしょうか? 【php】コールバック関数ってなんですか? 【php】コールバック関数ってなんですか? コールバック関数ってどういうものなのでしょうか? 個人的になイメージでは このライブラリの、このボタンを押した時 hoge()という関数が実行されるように設計しておいたから ボタンを押した時に何か動作が必要な場合は hoge()という名前で関数を定義しておいてね。 みたいな感じでしょうか? 人生100年時代!シニアでも転職できますか? OKWAVE コラム コールバック関数とは…(C言語) 関数をコールバックするのと、 関数を直接呼ぶのとではどう違うのでしょうか? ※質問がおかしかったらすいません。 コールバック関数 お世話になります。VB.NETにてソフト制作をしています。 今回、DLLの関数を利用する事になりましたが、うまく宣言できず困っています。御教授お願いします。 DLLはC++で作られており変更できません。 DLLは通信を補助するための物で、初期設定の関数と通信開始の物があります。 初期設定用を呼んだ後、通信開始を行なうようです。 説明には下記のような内容がありました。 【初期設定用】 initial(DWORD ip, LPNOTIFICATIONFUNC notificationFunc); ip=相手先のipアドレス notificationFunc=コールバック関数へのポインタ コールバック関数 WINAPI *PNOTIFICATIONFUNC( DWORD id, BYTE bySet1, BYTE bySet2, BYTE bySet3, BYTE *data, DWORD datasize ); 【通信開始用】 start(DWORD ip BYTE *code ); ip=通信元のipアドレス code=相手のコードの格納アドレス 以上 全体的にどう宣言したら良いのか解りません。 (特にコールバック関数の宣言と、ポインタへの引数の渡し方) すみませんが、御教授お願いします。 コールバック関数のメンバ関数化 コールバック関数のメンバ関数化について質問です。 WindowsAPIでウィンドウプロシージャ(コールバック関数)をクラスのメンバ関数に しようと思っているのですが、出来るのでしょうか? たとえば、 http://wisdom.sakura.ne.jp/system/winapi/win32/win10.html このサイトにある LRESULT CALLBACK WndProc(HWND hWnd , UINT Msg , WPARAM wParam , LPARAM lParam); をクラスのメンバ関数にしたいです。 開発環境 XP C,C++ Visual Studio 2005 コールバック関数 再び またまた、お世話になります。前回、御回答頂き動作するようにはなったのですが、コールバックに入力があった時に、アプリケーションが終了してしまう現象がおきています。御教授お願いします。 C++で作られたDLLを利用。 装置との通信を行なう物で初期設定用と通信開始用の 関数があり、コールバック関数で、装置からの送信もある。このDLLを使った、他のアプリで動作確認は取れているのでDLL自体には問題ないと思われる。 関数説明 【初期設定用】 initial(DWORD ip,LPNOTIFICATIONFUNC notificationFunc); ip=相手先のipアドレス notificationFunc=コールバック関数へのポインタ コールバック関数 WINAPI *PNOTIFICATIONFUNC( DWORD id, BYTE bySet1, BYTE bySet2, BYTE *data, DWORD datasize); 以上の説明があり、現在下記のように宣言して使っています。 【初期設定用】 Declare Function MT_INITIALIZE Lib "TEST.dll" Alias "Initial" _ (ByVal ip As Integer, ByVal notificationFunc As CallBack) As Boolean Public Delegate Sub CallBack( _ ByVal id As Integer, _ ByVal byset1 As Byte, _ ByVal byset2 As Byte, _ ByVal data As IntPtr, _ ByVal dataSize As Integer) 【コールバック関数】 Public Shared Sub notificationFunc( _ ByVal id As Integer, _ ByVal byset1 As Byte, _ ByVal byset2 As Byte, _ ByVal data As IntPtr, _ ByVal dataSize As Integer ) //データのバッファ処理 End Sub 置換マクロの再帰コール タイトルどおりなんですが、 【置換マクロの再帰コールがしたい】 と言うものですが、 do{}while(0)で定義した置換マクロを再帰コールする事が出来ません。(無理、なのかな~?)(汗) やり方を知ってる方、教えて下さい。お願いシマスー。 C++別のオブジェクトからメンバ関数をコールバック 自作のタイマオブジェクトにコールバックしたい別のオブジェクトのメンバ関数(複数)を登録して、一定時間経過後にコールバックしたいです。 今、考えているのはタイマオブジェクトでコールバック関数を呼び出す関数を仮想関数にして、継承したサブクラスごとにどのコールバック関数を呼び出すか処理を変えるやり方です。 ただ、これだと何だか複雑になりそうですし、そもそも根本的なところが間違っている気もします。 ご助言いただきたいです。 よろしくお願いします。 jQueryのコールバック関数の実行順序について いつもお世話になっております。 jQueryのコールバック関数について質問させて下さい。 jQueryの関数には引数としてコールバック関数を取るものがありますが、これらの実行順序で悩んでいます。 実行順序に関して、呼び出し元関数の実行が完了した後にコールバック関数が実行されるという認識で間違いないでしょうか? 以前、実行順序は保証されないという記述を見たのですが、どこで見たのか失念してしまい、再度読み直す事ができないでいます。 以上の事に関してご教授下さい。 宜しくお願い致します。 コールバックって何? はじめまして、_IXTLと申します。 仕事場でコールバック関数という言葉を聞きました。 呼び出し先にあらかじめ呼び出す関数を覚えさせておく 手法(うろおぼえ)とか…何とか…。 (確か、複数の関数ポインタのテーブルを持たせていたような気がします) Wikipediaなどでも調べましたが、意味が分かりません。 この意味や、メリットなどを詳しく教えて頂けないでしょうか? お願いします。 jQueryでコールバック関数を呼び出すには お世話になっております。 最近、Javascriptを使い始めたばかりの初心者です。 Jqueryを使って動的にhtmlを生成した後にコールバック関数を呼び出して処理させることはできますか? たとえば下記のようなソースで <p>動的にhtmlを生成</p>が ブラウザにレンダリングされた後、処理を行いたいのですが、どのようにすればよいでしょうか? $(function(){ $("div#box").html("<p>動的にhtmlを生成</p>"); }); <html> <divi d="box">ここにhtmlを生成</div> </html> ちなみに↓こんな書き方をしても動きませんでした。 $("div#box").html("<p>動的にhtmlを生成</p>",function(){ //コールバック関数 alert("test"); }); ご回答よろしくお願いいたします。 キャリアについて教えて?修行の成果を示す退職届と転職書類の書き方 OKWAVE コラム コールバック関数 VB6.0でコールバック関数みたいなのを呼び出して 別のプロシージャを作成する事ってできないでしょうか? 並列処理をさせたいのですが、あるdllを呼び出しくる際 戻り値が返ってくるのを待ってしまいその部分でラグが発生してしまいます。 そのdllに関してのみ別のプロシージャに投げて戻り値が返ってくるのを待たず、 戻り値をパブリック変数に順次格納していきたいのですがVB6.0 or .netで可能でしょうか? VB6.0SP3 Windows2k コールバック関数(?)をループしたいのですが……… 下記のようなコールバック関数(?)が10コ続いているとき、 for文か何かでループさせ分かりやすく書きたいのですが、どうすれば良いでしょうか? $('#id1').hoge(params, options, function(){ $('#id2').hoge(params, options, function(){ //処理 }); }); ※jQuery利用してます 再帰的な関数の作り方 C言語の勉強をしている初心者です。 まだまだ始めたばかりでよく分かっていない状態です。 再帰的な関数が便利そうな事が書かれているのをよく目にしますが、何が便利でどう作ればいいのか分かりません。 分かりやすく教えていただけませんか。 phpコールバック関数について php初心者のものですが、コールバック関数(可変関数)についての質問です。 //引数の与えらえられた名前をもつ関数が存在すれば呼び出すための関数 function func_caller($name)(2) { if (function_exists($name)) { (3) $name(); //可変換数をして関数の呼び出し } } function foo() { echo 'foo call', PHP_EOL; } func_caller('foo'); //foo called(1) とあるのですが (1)の関数が(2)に呼ばれて$nameはfooが入ってて (3)が評価されまでわかるのですが次にどうなっていくのかわかりません。 どなたかわかる方いらっしゃいましたらどうか教えていただけないでしょうか? 何卒よろしくお願い致します。 Python 再帰関数関連 再帰関数を解決できなくて困っています、ご教授お願いします! 普通関数で書いたものを再帰関数に変換するのはどう書けばいいですか? def foo(n, m): sum = 0 while m > 0: sum = sum + n m = m -1 return sum これを再帰関数でどう変換します? VB.NET デリゲートへのコールバック関数の設定 VB.NET デリゲートへのコールバック関数の設定 VB.NETとネイティブC/C++ DLL間でのコールバックについての質問です。 ネイティブDLLからVOID*で得られるコールバック関数をVB.NETのデリゲートに 登録するには、どのようにコーディングすればよいのでしょうか。 ---------- VB.NETソース ---------- Public Delegate Sub CALLBACK_00(ByVal Arg1 As Integer, ByVal Arg2 As Integer) Declare Function FuncPtrGet Lib "test.dll" () As CALLBACK_00 Dim Func As new CALLBACK_00(FuncPtrGet()); 2行目は、実際にはVOID*が帰るDLL関数です。 3行目がコンパイルで通りません。AddressOfで関数を指定するようにメッセージが出ます。 再帰関数のインライン展開 再帰関数のインライン展開は出来るのでしょうか? もし、出来るようならアセンブラではどのように表現されているんですか? C以外の言語でも、再帰関数のインライン展開が出来るプログラム言語があれば教えてください。 関数の再帰とは??[C言語] 関数の再帰とは何ですか?? 教えてください。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ ビジネス・キャリア 職業・資格 弁護士行政書士司法書士社会保険労務士(社労士)公認会計士宅地建物取引主任者(宅建)保育士・幼稚園教諭旅行業務取扱管理者薬剤師・登録販売者調理師・管理栄養士建築士美容師・理容師医師看護師・助産師教員・講師国家公務員・地方公務員簿記情報処理技術者Microsoft認定資格TOEFL・TOEIC・英語検定介護福祉士・ケアマネージャー接客・販売士ファイナンシャルプランナー(FP)自動車・運転免許その他(職業・資格) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など