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(); etc