FREE Subscription to Dr. Dobb’s Digest: Same Great Content, New Digital Edition
Site Archive (Complete)
C++
Email
Print
Reprint

add to:
Del.icio.us
Digg
Google
Furl
Slashdot
Y! MyWeb
Blink
September 01, 1998

Extending the Reference-Counting Pattern

(Page 2 of 5)
September 1998/Extending the Reference-Counting Pattern/Figure 1

Figure 1: Illustrates case where pointers work as expected but auto_ptr objects do not

void foo(Object* obj)
{
   Object* tmp = obj;
   tmp->something();
}
void func()
{
   Object* obj = new Object;
   foo(obj);
   obj->something();
}

void foo(auto_ptr<Object> obj)
{
   auto_ptr<Object> tmp = obj;
   tmp->something();

   // tmp owns the Object data
   // and deletes them when goes
   // out of visibility scope.
}
void func()
{
   auto_ptr<Object> obj = new Object;
   foo(obj);

   // Object data has been deleted
   // within foo().
   // obj points nowhere!

   obj->something(); // A problem.
}
//End of File
Previous Page | 1 | 2 | 3 | 4 | 5 Next Page
RELATED ARTICLES
No Related Articles
TOP 5 ARTICLES
No Top Articles.



MICROSITES
FEATURED TOPIC

ADDITIONAL TOPICS

INFO-LINK