いつコールバック関数を使用しますか?私は彼らの仕事の仕方を知っている、私はそれらを見ていると私は何度も自分自身を使用している。いつコールバック関数を使用しますか?
Cワールドの例は、データ検索のコールバックに依存するlibcurl
です。
反対の例は、OpenSSLのようになります。私はそれを使用している場合は、私は、パラメータを使用します。これを使用するとき
ret = somefunc(&target_value);
if(ret != 0)
//error case
私は疑問に思って?コールバックは非同期のものにのみ便利ですか?私は現在、自分のアプリケーションのAPIを設計する過程にあり、コールバックを使うのか、それともただのパラメータを使うのか不思議です。フードの下では、libcurlとOpenSSLをビルドするメインライブラリとして使用し、パラメータ "returned"はOpenSSLデータ型です。
私は戻ってくるだけでコールバックのメリットはありません。データを返すのではなく、何らかの方法でデータを処理したい場合は、これは便利ですか?しかし、私は返されたデータを処理することができました。違いはどこですか?