smart-pointers

    -1

    2答えて

    私は静的オブジェクト上のスマートポインタが妥当かどうか疑問に思っています。たとえば、静的リソースがあり、その静的リソースへの参照を、これらのリソースと連携する必要がある他のオブジェクトに渡したいとします。 1つの方法は、そのリソースを指すRAWポインターを使用することです。しかし、今私はスマートポインタ(shared_ptr)がより良い方法であるかどうか、もしそうなら、それを正しく行う方法を考えて

    1

    2答えて

    言いたいことがたくさんあります。まず、以下のアプローチがデザインパターンであるのか、それとも一般的なテクニックであるのかを知りたいのですが、それで、タイトルに関する詳細な情報は得られませんでした。それが事実なら、名前は何ですか? とにかく、これは私が達成しようとしているものの縮小バージョンです。私はコピーを使用する必要があるので、私はstd :: shared_ptrを使うことが、割り当てられてい

    2

    2答えて

    は、誰かが、単にこれが動作しない理由を説明してもらえ: std::shared_pointer<Bar> getSharedPointer() { return std::make_shared<Bar>(); } ... auto foo = getSharedPointer().get(); getSharedPointer()によって返さ共有ポインタの寿命がありますの

    4

    1答えて

    unique_ptrをコピーしようとしたときにエラーが発生しましたunique_ptrは、コピーコンストラクタが定義されていないとして、罰金だ Error C2280 std::unique_ptr<int,std::default_delete attempting to reference a deleted function ptrTest c:\ptrtest\main.cpp 7 #

    -2

    2答えて

    私はnullptrに初期化したいメンバ変数としてshared_ptrを使用するクラスを持っています。これはなぜ間違っているのですか?コンパイラのエラーメッセージは、 "delete:ポインタではないオブジェクトを削除できません"です。 template<class T> class Example: public: Example() : myptr(make_shared<Exam

    3

    1答えて

    私はいくつかのパッケージを含むプロジェクトに取り組んでいます。私の基本パッケージの一つで、私は(ここでは完全なコードがある)そのようなスマートポインタを宣言: unit UTWSmartPointer; interface type IWSmartPointer<T> = reference to function: T; TWSmartPointer<T: clas

    0

    1答えて

    C++でのプログラムの作成。私はtransformNodeとtransformNode2を追加することができますvtkMRMLLinearTransformNodesのグローバル配列やベクトルを持ちたい、この関数の外 vtkSmartPointer<vtkMRMLLinearTransformNode> transformNode = vtkSmartPointer<vtkMRMLLin

    0

    2答えて

    この質問はここにこの質問のフォローアップの質問ですenable_shared_from_this:original question 私はstd::enable_shared_from_thisから継承するクラスを持っていると、このクラスはstd::shared_ptr<Self> が含まれています クラスの詳細が完全で成功していることがわかった後、このクラスのコンストラクタのいずれかに格納された

    0

    1答えて

    スマートポインタは、自動メモリ管理や境界チェックなどの追加機能を提供しながらポインタをシミュレートする抽象的なデータ型です。 私の質問は、スレッドセーフですか?

    6

    2答えて

    これがなぜ失敗するのか理解できませんか? int *p = new int(10); std::unique_ptr<int> ptr(p); // Below line gives compilation error. std::cout << "Value of ptr " << ptr << std::endl; // Below line works well. std::co