ポインタにオブジェクトを返す関数があるので、次を使用します。
vector <auto_ptr <Object> > func() { ... }
安全かどうか知りたいのですが?
ポインタにオブジェクトを返す関数があるので、次を使用します。
vector <auto_ptr <Object> > func() { ... }
安全かどうか知りたいのですが?
stl は、要素をコピーして、そのアルゴリズムで一時的なコピーを使用するのが好きです (つまり、「コピー構築可能」かつ「割り当て可能」である必要があります)。これは には当てはまりませんがauto_ptr。ポインターを別のものに割り当てるauto_ptrと、ポインターの所有権が譲渡されます。
auto_ptr<foo> A = B;B は になりNULL、A はポインターの新しい所有者になり、B は使用できなくなります。また、一時オブジェクトが所有権を取得すると、それは返されず、NULL代わりにぶら下がっているポインターまたはポインターのベクトルがあります。
C++11 スマート ポインターを使用するか、スマート ポインターをブーストするか、自分で実装することができます。