問題タブ [generic-callback]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1420 参照

c++ - メソッドポインタからジェネリック関数ポインタを動的に作成し、戻り値とパラメータを推定します

静的C関数を期待するコードのメンバーメソッドを呼び出すために使用するこのヘルパークラスがあります。この特定の「バージョン」は、Windows LPTHREADROUTINEコールバックと互換性があり、DWORD (class::method) (void *)次のように呼び出される関数をパラメーターとして受け取ります。

全体を一般的にしたいと思っています。新しいC++11標準で実行できることはわかっていますが、それを実現することはできません。

MakeThreadInfo関数のインターフェイスを次のように変更してみました。

これが道のりのように思えますが、この値をアップストリームに渡すことができませんでした。


これが私が得たいものです:

MyMethodメソッドを持つクラスMyClassと、変数returnタイプのコールバック、およびさまざまなタイプの1つ以上のパラメーター(最後はvoid *userData)が与えられた場合、ボイラープレーティングをできるだけ少なくして、コールバックに何かを渡すにはどうすればよいですか?次に、MyClass::MyMethodを呼び出します。

説明する:

の有効な実装はCreateGenericCPointer何ですか?

0 投票する
1 に答える
109 参照

c++ - 2 つのテンプレート クラスを作成しましたが、これらが役立つかどうか教えてもらえますか?

最近、本「Modern C++ design」に従って、2 つのテンプレート クラスを作成しました。これらのクラスは便利だと思いますが、私の会社の誰も私に同意しません。

1 つ目はパラメーター ラッパーで、関数パラメーターを単一の動的オブジェクトにパッケージ化できます。「モダン C++ デザイン」の TypeList のように見えます。

次のように使用できます。

コードのある場所:

コードの他の場所:

2 つ目は一般的なコールバック ラッパーで、他のラッパーと比較していくつかの特別な点
があります。
2.コールバックをそのパラメータと一緒にラップできます。後でパラメータを使用してコールバックを実行できます。

次のように使用できます。

あなたのコードのどこかに:

あなたのコードの他の場所:

コードの一部を次に示します。

パラメータラッパー:

コールバック ラッパー:

0 投票する
1 に答える
1422 参照

java - Androidで同じ関数に異なるコールバックを渡す方法

私はアンドロイドが初めてで、現在、ボレー投稿リクエストを行い、API からの応答を取得しようとしています。私がしたことは、応答が成功したときにコールバックを呼び出すことです。このコールバックは、たとえば、MainActivityコールバック メソッドなどの単一のクラスから呼び出すと正常に機能しますが、他のクラスから呼び出そうとすると機能しません。volleyAPIService のコールバック パラメータをジェネリックにしようとしましたが、成功しません。どんな種類の助けもかなりのものです。

VolleyAPIService.java

前に述べたように、volleyPost()の最初のパラメーターをより一般的にして、この特定のメソッドを任意のクラスから呼び出そうとしましたが、成功しませんでした。

MainActivity.java

volleyPost()コールバックで呼び出しますMainActivity.java

UserLogin.java

volleyPost()私もこのクラスから呼び出してみます。パラメータ コールバックのタイプが一致しないことはわかっており、両方のクラスでコールバック パラメータをジェネリックにしようとしましたが、それを行う方法がわかりません。

どんな種類の助けも高く評価され、事前に感謝します。

0 投票する
1 に答える
250 参照

java - ジェネリック Cplex コールバックでブランチ アンド カット ノード ID にアクセスする

Benders 分解を使用して分解される最適化問題があります。Lazy、User、および Heuristic コールバックを含む Cplex ジェネリック コールバックを (JAVA で) 実装しました。ここで、いくつかのカット管理戦略を追加する必要があります。たとえば、ツリー内のノードごとのカット数を制限します。問題は、現在の候補のノード ID にアクセスする方法がわからないことです。誰かが助けてくれれば幸いです。