問題タブ [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::function::target を使用して関数ポインタを取得するときの null ポインタ
この回答を読んだ後、解決策があると思いました。少なくとも私がやりたいことはありますが、実装に問題があります。
ここに私がやろうとしていることの概要があります
プログラムはエラーや警告なしでコンパイルされますが、f.target(); から null ポインター (fpt) が返されます。実行時に。上記のスタックオーバーフローの質問にリンクされている参照から、ブーストがランタイム変換を実行できない場合、null ポインターが返されるようです。しかし、Boost がランタイム変換を実行できない理由がわかりません。何か案は?
c++ - boost::function 引数へのアクセス
boost::function 型に含まれる引数にアクセスすることは可能ですか?
呼び出される関数のアドレスと、その関数に提供された引数の値を取得できるようにしたいと考えています。
c++ - ブースト::アクセサーをバインドしますか?
次のコードがあるとします。
SomeFunc() 関数から、バインドされた型が保持する引数にアクセスできますか? このようなもの(疑似コード):
この情報を boost::bind タイプから引き出すことはできますか?
c++ - ブーストバインド/機能のヘルプ
私はこの関数の署名を持っています私は一致しなければなりません
これが私がこれまでに持っているものです:
ただし、ではlua_register(_luaState...
、まだ変換の問題について不平を言っています
エラー1エラーC2664:'lua_pushcclosure':パラメーター2を'boost::function'から'lua_CFunction'に変換できません
誰もがこれを解決する方法を知っていますか?
c++ - boost::bindを使用して並べ替える
私はブースト初心者です。私はboost::bindの使い方を学んでいて、整数のベクトルを並べ替えて、ベクトル内の45より大きく5より小さい要素をすべて取り除きたいと思っていました。それを行うのに苦労しました。誰かが私がそれをするのを手伝ってくれるなら素晴らしいでしょうか?
私が問題に直面している理由は、ベクトルを反復処理してソートしているときに、ベクトル要素を削除しようとしているためです。最初に並べ替えてから要素を削除すると、はるかに簡単になることを私は知っています。でもこうやってやりたいです。どんな助けでも大歓迎です。
c++ - boost :: threadedメンバー関数から戻り値を取得しますか?
以下のようなワーカークラスがあります。
これは、boost::threadおよびboost::bindで実行されることを目的としています。たとえば、次のようになります。
私の質問は、Worker :: Doの戻り値を取得するにはどうすればよいですか?
前もって感謝します。
c++ - ブースト バインド コンパイル エラー
次のようなエラーが表示されます。
誰かが私が間違っていることを教えてもらえますか?
c++ - 複数のboost::connectを使用した単一のslot_typeでのメモリリーク
boost::signals
複数の信号を単一の信号に接続しようとすると、メモリを使用してリークしていslot_type
ます。これと同じリークがさまざまなフォーラムで報告されているのを見てきましたが、これを行う正しい方法や回避策について言及しているものは見つかりません。
私がやろうとしていること:
結果を関数に渡そうとしboost::bind()
ています。この関数では、その結果に複数の信号を接続したいと思います。最初の接続は正常に機能しますが、最初の接続以降のすべての接続でハンドルがリークします。
サンプルコードは次のとおりです。
今すぐ呼び出しますCallingClass::connectSignals()
。
connectToSlots
の呼び出しにより、50個の信号が単一のスロットに接続され、それらの信号がすべて切断されてクリーンアップされることを期待しています。実際に発生するのは、1つの信号が完全にクリーンアップされ、残りの49の信号が部分的にクリーンアップされますが、一部のメモリがリークすることです。
スロットを関数に渡して複数回使用する正しい方法は何ですか?どんな助けでもいただければ幸いです。
ありがとう、クリス
c++ - C++: std::less の使い方boost::bind と boost::lambda で?
boost::bind、boost::lambda ライブラリと、それらを STL アルゴリズムで使用する方法を学習しようとしています。int キーでソートされた int-string ペアのベクトルがあるとします。次に、ベクトルをソートしたまま新しいペアを挿入する場所は、次のように見つけることができます。
operator<
ここで、関数オブジェクト (std::less<int>
この例の型)に置き換えたいと思います。
上記のコードを変更して機能させるにはどうすればよいですか? 私はただすることはできません
std::less<int>::operator()
の戻り値の型が何であれ、受け入れないためですboost::bind
。ここで何が欠けていますか?ティア
c++ - boost::functionオブジェクトのコンテナでのSTLアルゴリズム
forループを使用する次のコードがあり、代わりにtransform、または少なくともfor_eachを使用したいのですが、方法がわかりません。
コードの後半で、このnullary関数オブジェクトのコレクションを実際に呼び出したいと思います。ここでもforループを使用していますが、どういうわけかfor_eachを使用できるはずです。