コールバック関数はいつ使用しますか? 私はそれらがどのように機能するかを知っており、それらが使用されているのを見てきました。
C の世界の例はlibcurl
、データ取得のためにコールバックに依存するものです。
反対の例は OpenSSL です。私が使用した場合は、out パラメータを使用します。
ret = somefunc(&target_value);
if(ret != 0)
//error case
いつどれを使うか迷っています。コールバックは非同期のものにのみ役立ちますか? 現在、アプリケーションの API を設計中ですが、コールバックを使用するか、単に out パラメータを使用するかを考えています。内部的には、libcurl と OpenSSL をビルドのメイン ライブラリとして使用し、「返される」パラメータは OpenSSL データ型です。
戻るだけに比べて、コールバックの利点は見当たりません。これは、単にデータを返すのではなく、何らかの方法でデータを処理したい場合にのみ役立ちますか? しかし、返されたデータを処理できました。違いはどこにありますか?