Re: try, finally

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 20, 2008 at 9:30 AM, Noel Yap <noel.yap@xxxxxxxxx> wrote:
>
> On Wed, Mar 19, 2008 at 12:09 PM, me22 <me22.ca@xxxxxxxxx> wrote:
>  > On Wed, Mar 19, 2008 at 3:02 PM, Jason Cipriani
>  >
>  > <jason.cipriani@xxxxxxxxx> wrote:
>  >
>  > >  Does std or boost have some kind of "smart pointers" that let me
>  >  >  define the cleanup actions without having to write too much additional
>  >  >  code?
>  >  >
>  >
>  >  Yup, boost::shared_ptr (std::shared_ptr, in C++1x) will let you do that.
>  >
>  >  boost::shared_ptr<xmlDoc> doc( xmlReadFile(...), xmlFreeDoc );
>  >  if (!doc) throw something();
>
>  If the pointers never leave the scope, I would use boost::scoped_ptr.
>  Since shared_ptr keeps a reference count, locks (or atomic operations)
>  need to be used in order to make it thread safe.
>
>  Use shared_ptr iff the ownership needs to be shared.  Use auto_ptr iff
>  the ownership needs to be transferred and the pointer must never be
>  copied.  Use scoped_ptr iff the life span of the memory ought to end
>  when the local scope ends.

Thanks for the tips!

Jason



>
>  Noel
>

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux