One of the better implementations of garbage collection for c++ can be found here:
A garbage collector for C and C++
I think in this modern day the time for automatic garbage collection for standard c++ is finally here. Manually reclaiming memory is both error prone and dangerous – calls to dead objects cause many of the surprise problems associated with c++. A number of sites provide details on how a concurrent thread for garbage collection actually provides superior performance to manual deletes. Proposals have been put forth for making garbage collection a part of the C++ standard and I am all for it. Other nice additions would be debug bounds checking for the stl among other things. I still love C++ but removing some of its thorns would give it longer legs in a world being overtaken by Java and C#.