To my mind it's like stack objects - not only do you not have to worry about freeing them, the destructor gets called and so do subordinate destructors for memeber objects. It was a bit of a revelation when I did some 'real' c++ for the first time a couple of years back.
In some ways it is just another of the myriad of implicit behaviours in C++ that make it hard to work with, though.
In some ways it is just another of the myriad of implicit behaviours in C++ that make it hard to work with, though.