auto-ptr

    1

    3答えて

    私は小さなアプリケーションを作成しようとしており、auto_ptrを使ってコンパイル時エラーが発生しました。 私が作成したクラスでスマートなポインタを作成するのはもともと疲れましたが、タイプがint型のスマートポインタを作成しようとすると同じエラーが発生します。私はhere.与えられた例に従っていた。 私は自分自身を叩いてしまう結果になると感じています。 スマートポインタをこのファイルの末尾に宣言

    2

    1答えて

    ニコライJosuttis氏は、彼の著書「C++標準ライブラリ - チュートリアルとリファレンス」には、44ページで、次の段落の書き込み:auto_ptrsの概念によると を、に所有権を移転することが可能です定数参照を使って関数を呼び出す。これは非常に危険です。なぜなら、オブジェクトは、定数参照として渡すとオブジェクトが変更されないことを通常期待しているからです。幸運なことに、auto_ptrsの危

    0

    4答えて

    非const参照を一時的にコピーから構築するコピーコンストラクタを持つクラスを許可するにはどうすればよいですか?私はすべてが基地から継承するオブジェクトへのポインタのリストを返すべき機能を持っている ので、私はvector<Base*>ようなものが必要: 背景はこれです。 vector<auto_ptr>はほとんどオプションではないので、デストラクタ内のすべての要素を削除する単純なラッパーを ve

    1

    2答えて

    私はC++を初めて使い、auto_ptrに関してちょっと混乱しました。 内部に静的なauto_ptrがあるクラスがあります。 static std::auto_ptr<MyCompany::CConnection> con = std::auto_ptr<MyCompany::CConnection> (util::getDBConnection()); Utilの:: getDBConnec

    0

    1答えて

    この例では、Stroustupの著書、第三版、セクション14.4.2から撮影された:ここでは void f (Point p1, Point p2, auto_ptr<Circle> pc, Shape* pb) { auto_ptr<Shape> p (new Rectangle(p1 ,p2)); auto_ptr<Shape> pbox(pb); p->rot

    2

    2答えて

    私はStroustupの本から抽出されたこのコードスニペットにタイプミスがあると信じているが、そのページ368で: template <class X> class std::auto_ptr { template <class Y> struct auto_ptr_ref { /* ... */ }; // helper class X * ptr; public

    0

    2答えて

    auto_ptrへのポインタをstd :: vectorに格納することはできますか?それは安全ですか? XMLファイルで読み込んだフォルダを列挙し、auto_ptrでそれぞれのオブジェクトを作成します。 XMLファイルがいくつあるのかは事前にわかっていないので、ベクトルを使用して基本的にポインタのリストを保持したいと考えています。 私はまた、ポインタがVectorから削除されたとき(またはベクトル

    0

    5答えて

    を私たちの大規模なプロジェクトでは、以下のtypedefさんとたくさんのクラスを持っている: class Foo { public: typedef std::auto_ptr<Foo> Ptr; typedef boost::shared_ptr<Foo> Ref; ... }; ... Foo::Ref foo(new Foo); ... d

    0

    2答えて

    次の問題を理解してください。以下のコード例で ルック: #include <iostream> class Shape { public: virtual wchar_t *GetName() { return L"Shape"; } }; class Circle: public Shape { public: wchar_t *GetName() { retur

    1

    4答えて

    std::auto_ptrの使用に問題があります。私はGCC 4.6.1を使ってUbuntu 11.10で次のようにコンパイルしようとしました。エラーメッセージerror: no match for call to ‘(std::auto_ptr<int>) (int*)’が出ます。 #include <memory> #include <iostream> class Toy { pu