smart-pointers

    1

    2答えて

    私はゲームエンジンを再加工してsmart-pointersを使用しています。私はすべてが継承するObjectクラスを持っています。私はIRenderable(純粋な仮想レンダリング関数を定義するクラス)から継承し、はオブジェクトから継承しないようにレンダリング可能なGameObjectを持っています。私はRenderSystemを持っていて、シーン内のすべてのIRenderableにshared_

    2

    3答えて

    現在、すべての生ポインタのクラスメンバーをスマートポインタで置き換えることでコードを更新しています。私は現在働いているシナリオは以下の通りです: は、(生のポインタを使用して)お互いを知っている二つのクラスfooとbar持つ:fooは「m_bar」の生みの親であるので class Bar; class Foo { public:b Foo(){ m_bar = new

    1

    3答えて

    私は、多くの巨大な検索プロセス(開始、停止、など)を処理するクラスを持っています。私はdiffrenceについては考えているか、それがパフォーマンスに影響を与える std::unique_ptr<CSearch> search(new CSearch); search->Start(); : CSearch search; search.Start(); またはこの: class CS

    0

    1答えて

    私はそれにメモリリークがあるオープンソースライブラリで作業しています。ライブラリは、boost :: asioの周りに構築されたデータストリーミングサービスです。サーバー側はヒープメモリ管理システムを使用しています。これは、samplesの有限数を保持するメモリを提供し、TCP接続を介してプッシュされるのを待ちます。サーバーが最初に構築されると、古いすべてのメモリのヒープが割り当てられます。sam

    0

    1答えて

    私は実際のデモの例をやりたかったので、以下のDLLコードを作成しました。問題はノードが適切に配置されていますが、私は何が間違っているのか分からない。 私の理解では、スコープが不足すると、ノードを自動的に削除する必要があります。私が間違っている場合は私を修正してください。 オリジナルコード: #include <iostream> #include <memory> using namespac

    -2

    3答えて

    私はtest1.cppとtest2.cppが同様の結果を出すと予想しました。 メモリリークがないため、それぞれ同じ印刷が実行されます。 しかし、それはありません。どうしてか分かりません。 この状況を理解するために何ができるか教えてください。 test1.cpp #include <iostream> #include <memory> using namespace std; class

    0

    1答えて

    私は大きな構造体を実装しています(構造体Aに構造体Bがあり、構造体Bに構造体Cなどがあります)。いずれかのネストされたレベルでは、1つの構造体にはそれ自身へのポインタがあります。これでどのソリューションを管理するのが良いでしょうか? struct MyStruct { //1st version std::shared_ptr<std::list<std::shared_pt

    23

    3答えて

    は、カスタム構造で現在 struct Foo; void foo_action(Foo*); Foo* foo_create(); void foo_free(Foo*); を作成、破棄、および操作するための関数を定義してCライブラリを考えてみましょ値 を次のように、私は私のC++のプロジェクトでライブラリを使用変更ポインタでスマートポインタを使用する++ Foo* myfoo = fo

    -1

    3答えて

    クラスのすべてのオブジェクトをstd::mapに追加したいと思います。私は、オブジェクトをコピーしたくないので、私はこのようなスマートポインタを使用して回避策を取得しよう: Class.h class A : public std::enable_shared_from_this<A> { public: A(); ~A(); static std::map<uin