shared-ptr

    2

    1答えて

    最近私は狡猾な計画(tm:P)を考えました 私のプログラムで設定の構造を更新しなければなりません。設定構造体は複数の関数によって使用され、それらの関数はすべて複数のスレッドによって呼び出されます。 古い設定の構造体を解放するのがいつ安全であるかを知るために、参照カウンタが必要です。 これは正しい方法ですか? コードを慎重に読んでいない場合は、共有ポインターに関してはこのような悪用を行うと間違いを犯

    1

    3答えて

    をスローすると、次のような落とし穴があります。 if (someCondition) throw boost::shared_ptr<SomeException>(new SomeException("foo!")); ... catch(const boost::shared_ptr<SomeException>& expRef) { }

    0

    1答えて

    を私はファイルシステムからロードされたイメージを追跡するために、私のMFCアプリケーションでシンプルなイメージキャッシュクラスを持っている: typedef boost::shared_ptr<Gdiplus::Image> ImagePtr; typedef std::map<std::string, ImagePtr> ImageMap; 画像はファイルによって要求されたときはいつでもル

    1

    1答えて

    私は基本クラスを持っているので、このポインタを派生クラスshared_ptrに変換したい。私は、私の場合enable_shared_from_thisを継承して使用することはできません。それで、他の効率的な方法がありますか?あなたがboost::enable_shared_from_thisが必要 例えば typedef boost::shared_ptr <a> aPtr; typedef b

    2

    3答えて

    shared_ptr型のベクトルのイテレータをキャストするにはどうすればよいですか?以下の例で考えてみましょう: typedef boost::shared_ptr <MyClass> type_myClass; vector<type_myClass> vect; vector<type_myClass>::iterator itr = vect.begin(); while(itr

    2

    1答えて

    : (ptr_vectorに格納されている)オブジェクトtrifooに含まれるポインタが共有されているがポインタf、g、h。 また、trifooのコンストラクタでのshared_ptrのコピーの結果は何ですか。 shared_ptrを共有する正しい方法です。参照カウントが増えていることを確認しています。他のすべての疑問を検証するためにテストできましたが、これを(正しく)確認する方法がわかりません。

    0

    2答えて

    その有効性を確認する: class Curve { public: typedef boost::shared_ptr<Curve> Pointer; // ... private: // ... }; class CurveShift: public Curve { public: CurveShift(const Curve & curve)

    0

    2答えて

    私はブーストを使用して工場出荷時のパターンを作成したいと考え class A : public boost::enable_shared_from_this<A> { public: typedef boost::shared_ptr<A> pointer; static pointer create(tcp::socket& socket) {

    3

    1答えて

    私はヒープ上に作成することができないクラスを持っており、それは専用のデストラクタを持っています。 しかし、このような構成オブジェクトへのポインタを返す関数があります。私はそれから共有ポインタを作りたい: MyClass *GetMyClassPointer() {...} boost::shared_ptr<MyClass> ptr; ptr = boost::shared_ptr<MyCl

    7

    1答えて

    shared_ptrとSTLを頻繁に使用するC++コードがあります。共通ヘッダは #include<boost/shared_ptr.hpp> using boost::shared_ptr; // for shared_ptr using namespace std; // for STL は、私はCに切り替えたかっ++ 0xのは今-std=c++0xでのgcc 4.6を使用して、言語