90 LOC to have the right tool. Note, you could use boost::auto_ptr or whatever RAII wrapper they have around dynamically created objects. I prefer not to create additional dependencies on boost. That Bitcoin source code is sloppy and breaks numerous "best practices" endorsed by luminaries of C++ should not even be up for debate - I know that you guys know better! The attitude needs to change or else it will remain a difficult to maintain mess, becoming progressively harder to implement changes without breaking things and tons of extra work.