この例では、Stroustupの著書、第三版、セクション14.4.2から撮影された:ここでは以下の例で例外がスローされたときに、pbが指す形状が破棄されるのはなぜですか?
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->rotate(45);
// ...
if (in_a_mess) throw Mess();
// ...
}
「長方形、形状がPBで指され、サークルは、PCで指さ かどうか削除されます例外がスローされます。
... – Xeo