問題タブ [boost-bind]
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.
c++ - boost::bind の QPointer の特殊化はありますか
boost::bind
boost::shared_ptr
生ポインタと同じ方法で処理します 。
生のポインターポインターとしてboost::bind
処理する が欲しいです。QPointers
に特化した人はいQPointer
ますか?
どこから始めればいいのか、何を専門にする必要があるのかわからない場合は、自分でできます。
c++ - boost::bindおよびクラスメンバー関数
次の例を検討してください。
関数を使用すれば、すべて正常に動作しfunc()
ます。しかし、実際のアプリケーションでは、クラスメンバー関数を使用する必要があります。つまりfoo::func2()
、この例では。boost :: bindでこれを行うにはどうすればよいですか?
objective-c - :: bind()をObjective C関数にブーストできますか?
これが可能かどうかはわかりませんが、可能であれば、構文はどのようになりますか?
不可能な場合は、なぜですか?
c++ - boost :: bindオブジェクトを関数に渡すにはどうすればよいですか?
1次元関数の最小化機能があります。今、私はそれに関数ポインタを渡しています。ただし、多くの関数には複数のパラメーターがあり、そのうちのいくつかは固定されています。私はそのようなファンクターを使用してこれを実装しました
ただし、ファンクターの定義には多くのクラッドがあります。Boost::bindはよりきれいに見えます。私ができるように:
minimize
ただし、の使用方法が明確ではありませんboost::bind
。オブジェクトの種類は何boost::bind
ですか?ファンクターの定型文を回避しながら、複数のパラメーターのバインドを可能にする、このための簡単なパターンはありますか?
c++ - ブースト関数オブジェクトが指す関数の名前をデバッガーに表示させることはできますか?
ブースト関数とバインドを使用して Visual Studio でコードをデバッグするときに、ブースト ファンクターが指す実際の関数に関する情報をデバッガーに表示できるようにしたいと考えています。たとえば、関数の名前、元の関数のシグネチャ (bind が使用される前)、またはファンクターの状態などです。
現時点では、コードをステップ実行して、それがどの関数であるかを確認する必要があります。そのためには、最初にブースト コードを最後までステップ実行する必要があります。
これが行われたかどうか、またはそれが可能かどうかさえ誰かが知っていますか?
ありがとうございました!
編集私はまた、誰かがこの質問に対する答えを今までに開発したことを知ってとてもうれしく思います: How to debug code that uses boost w/o loss sanity?
(受け入れられた回答で言及されている問題を意味します:ブーストコードをステップオーバーするが、ブースト::関数によって呼び出されるコードにステップインする方法...)
c++ - C++ ファンクターとゼロ
最初の免責事項として、boost::function と boost::bind を使用する一連のコードを置き換えます。ただし、rtti を許可しないコードベースに移行しています。ブーストを使い続けたいのですが、この制限を回避する方法があるかどうかわかりません。
そのため、その機能の一部を模倣しようとしていますが、より単純化されています。私はコールバッククラスを持っています:
これにより、パラメータなしで簡単なコールバックを実行できます。
次のように、コールバック オブジェクトをデフォルト パラメータとしてゼロに割り当てられるようにしたいと考えています。
これは、次のように boost::function を使用するときに機能します。
ここでブーストが何らかの魔法を行っていると思います。パラメーターを参照ではなくポインターに変更できることはわかっていますが、前述のように、多くのコードを置き換えており、boost からの変更の影響を最小限に抑えたいと考えています。
c++ - メンバー変数へのバインド
メンバー変数にバインドするときに boost::bind が何をするかについて混乱しています。メンバー関数へのバインドでは、基本的に関数オブジェクトを作成し、それを呼び出して、提供または遅延され、プレースホルダーを介して置換される引数を渡します。
しかし、この式は舞台裏で何をしているのですか?
プレースホルダー _1 の代わりに何が置き換えられますか?
boost::bind に関する記事からこの例を読んでいるときに、これを見つけました。
c++ - 使用中にブースト機能を削除する
boost::functionとboost::bind(実際にはstd :: tr :: functionとbind)がまだ使用中に削除されている状況があります。これは安全ですか?私は通常それを避けますが、問題のあるコードは少し定着していて、私の唯一の他のオプションは新しいスレッドを追加することです。
バインドされたパラメーターは常にプレーンな整数型(実際のコードではintとポインター)であり、参照ではありません。
c++ - extern "C" 関数ポインターをどのように宣言しますか
だから私はこのコードを持っています:
そして、このエラーを受け取ります:
したがって、このエラーは、'log' が math.h で extern "C"'d であるためです。
foo() で関数ポインタ引数を宣言する方法を考えていたので、extern "C"'d 関数を処理します。