Read this and take a good look at the conclusions:
Conclusions
Complex solution to problem for which simple solutions are widely used and will be improved by C++0x leaving us little need.
We have little to no experience with the recommended language features which are to be standardized.
Fixing bad software complex system will never work.
Recommend minor language changes to improve future GC support - disallow hiding of pointers (xor list trick) as one example.
Finally - address the "C++ is bad because it has no GC" argument head-on. C++ doesn't generate garbage and so has no need for GC. Clearly Java, C#, Objective C, etc. generate lots of garbage.
Yes the last sentence is subjective and also a part of the holy wars.
I use C++ because I dislike the idea that someone needs to take out the garbage for me.
The city hall does that and that's enough for me.
If you need GC use another language. Pick the right tool for the right job.