So what happens to a pointer if you release an object owned by auto_ptr but do not actually assign it to a raw pointer? It seems like it's supposed to be deleted but it never gets the chance to. So does it get leaked out "into the wild"?
void usingPointer(int* p); std::auto_ptr<int> point(new int); *point = 3; usingPointer(point.release());
Note: I don't use auto_ptr anymore, I use tr1::shared_ptr now. This situation just got me curious.