A simple garbage collector for C++