問題タブ [boost-ref]

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 投票する
2 に答える
1528 参照

c++ - boost::ref および boost::asio 完了ハンドラ、参照渡し

私はコードのセクションでこの呼び出しを行っていますが、基礎となる型iは明らかに呼び出し可能です (boost::ref を削除すると値渡しにつながり、正常に動作するため)、clang は次のことを教えてくれます:

どうすれば参照渡しできますか。非同期呼び出しよりも長く存続するオブジェクトがあり、それらを参照渡しできれば、より洗練されたものになります (boost::shared_ptr<..> がメンバーとして少ない)。

- 編集 -

asio の example ディレクトリを grep しましたがboost::ref、完了ハンドラについては示されていません。だから私はここで運が悪いと思います。ハンドラーに ref を受け入れるバージョンがない理由はありますか?

-- 編集 2 : 私がどのように見えるか (実装に疑いがない限り、これを見ないでください)。--

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

c++ - 引数を渡すときに Boost.Parameter ライブラリで boost::ref を使用する方法は?

名前付きパラメーターをコンストラクターに提供するために、Boost.Parameter ライブラリーを使用します。

通常windowFunctionはオブジェクトでコピーされるのboost::functionですが、 で参照渡しもできるようにしたいですboost::ref

boost::refただし、が削除された関数オブジェクトを渡すreference_wrapper<T>と、ArgumentPack にはT値への参照が含まれます。

質問:reference_wrapper<T>ラッパーの除去を防ぐ方法はありますか?

例:

の代わりにのコンストラクターでに渡さSomeFunctionObject& sれます。したがって、コピーされることは望ましくありません。mWindowFunClassAImplconst reference_wrapper<SomeFunctionObject>&sboost::function

0 投票する
2 に答える
962 参照

c++ - boost :: refでは一致する呼び出しエラーは発生しませんが、std::refでは発生しません

ファンクターと、または(C ++ 11の場合)名前空間からのテンプレートを使用して、ベクトルの要素の数をカウントするコードをref作成しましたbind。と名前空間を切り替えるためにを使用しています。Boostバージョン1.53を使用していて、コンパイルコマンドはです。gccバージョン4.7.2と4.6.3で試しましたが、両方で同じエラーが発生します。boost::std::#defineboost::std::g++ test.cpp -std=c++11

私は3つの質問があります:

  1. 例2で発生するエラーがわかりません。
  2. 名前空間を切り替えるだけで、このようなコードを移植可能にすることは可能ですか?
  3. 、、stdおよびboostのバージョンの違いを詳細に説明している優れたリファレンスはありますか?(私はこの質問を見ましたが、答えは言及していませんまたは)bindreffunctionreffunction

ありがとう!

PSこの例は私の問題を示しているだけです、私は知ってsize()いますstd::vector:-)

0 投票する
2 に答える
3453 参照

c++ - なぜこのプログラムはboost::refを使っているのですか

Ref ライブラリは、通常は引数のコピーを取る関数テンプレート (アルゴリズム) への参照を渡すのに役立つ小さなライブラリです。

http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio/example/chat/chat_server.cppから

インコール配信 -

もし

別のクラスで参照によってメッセージを取得しているのに、なぜ boost::ref が使用されるのですか?

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

c++ - C++ のブースト ラッパーでオブジェクトを削除する

要素を持つクラスがあります std::list<boost::reference_wrapper<polygonType> > m_children;

このクラスからオブジェクトが作成されると、そのオブジェクトのすべての子を参照としてこの変数に格納します。私がやりたかったのは、オブジェクトのデストラクタが呼び出されたときに、子のデストラクタが呼び出されるようにすることです。

  1. この場合、それは自動的な動作ですか?または、このリストに参照がある場合、何かを書く必要がありますか?
  2. それらを削除したくない場合は、どうすればよいですか? それらを削除したい場合、何をする必要がありますか?

これは基本的に、私が下したいくつかの設計上の決定と、それらをどのように修正したいかによるものです。

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

python - オブジェクトを Boost.Python モジュールに渡すために std::ref を使用できないのはなぜですか?

環境: Python 3.5 でコンパイルされた Boost 1.61.0

次の C++ コードの出力12:

ただし、 に置き換えるboost::refstd::refboost::python::error_already_setインスタンスがスローされます。

なぜstd::refここで使用できないのですか?