A Garbage Collector in C++