I surrender. Lisp really is better than C++.
geekblog.oakcircle.com
geekblog.oakcircle.com
>+++++++++++[<++++++>-]<.>+++++++++++++++++[<+++>-]<.-.>++++++++++++[<------->-
]<.>+++++++[<+++++>-]<.>++++++[<---->-]<..-----------.+++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++.>+++++[<++>-]<.---------------
--------------------------------------------------------------------.++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+.---
--------.+++..>+++++++++++++++++++[<---->-]<.>+++++++++++[<++++++>-]<.+++.>++++
+[<+++>-]<..>+++++[<--->-]<.+++++++++++++.>++++++++++++++++++++++++++++++++++++
+++++[<-->-]<.>++++++++++++[<+++++++>-]<.>++++[<--->-]<.-------.+++++++++++++.>
+++++++++++++[<------>-]<.>+++++++++++[<++++++>-]<.>++++[<++++>-]<.------------
-----.>++++[<++>-]<.+++++.>++++[<-->-]<.>+++++[<+++>-]<.>++++++[<--->-]<.>++++[
<++>-]<.>+++++++++++++++++++++++++++++++++++++[<-->-]<.
>++++++++[<+++++++++>-]<+.>+++++[<------>-]<----.>++++++++[<++++++++>
-]<++++++.>++++c++++[<--------->-]<-----.>++++++++[<++++++++>-]<+++++
++.>++[<++++>-]<.>++[<--->-]<.>++[<++>-]<+.>++[<--->-]<-.>++++++++[<-
------->-]<-------.>+++++++++[<+++++++++>-]<+++.>++[<-->-]<-.>+++++++
+[<--------->-]<-------.>++++++++[<++++++++>-]<+++++.>++[<++++>-]<.>+
++[<--->-]<--.+++.-.>++++++++[<-------->-]<----.>+++++[<++++++>-]<+++
+.>++++++[<++++++++>-]<.>++++[<---->-]<-.>++[<++++>-]<.>++[<++>-]<+.>
++[<---->-]<.>+++[<+++++>-]<.>++++[<---->-]<--.>++[<++++>-]<.>+++++++
+[<--------->-]<---.>++++++++[<+++++++++>-]<+.>++[<++>-]<+.>++++++++[
<--------->-]<------.>++++++++[<+++++++++>-]<+++++.>+++[<++++>-]<.>++
+++++++[<--------->-]<--------.>++++++++[<+++++++++>-]<++++++.>+++[<-
-->-]<.>++++[<++++>-]<+++.----.>+++++++++[<--------->-]<---.>++++++++
[<++++++++++>-]<.++.---.>++[<---->-]<.>+++[<+++>-]<++.>++++[<---->-]<
-.>+++[<++++>-]<.>++++++++[<--------->-]<-----.>++++++++[<+++++++++>-
]<++.>+++[<+++>-]<++.--.+.>+++++++++[<--------->-]<---.>++++++++[<+++
+++++>-]<++++++.>+++[<+++>-]<.+++.>+++++++++[<--------->-]<-.>+++++++
+[<+++++++++>-]<+++.--.>++[<--->-]<.>++[<++++>-]<.>++[<++++>-]<.>++++
++++[<-------->-]<-----.>++++++[<------>-]<.
>+++++++++++++++++++++++[<+++>-]<.>+++++++++++++++++[<+++>-]<.>+++++++[<--->-]<
.++.+++++++..-------.>+++[<+++>-]<.>+++[<++>-]<.>++++++++++++[<------->-]<.++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++.+++++++.>
+++[<-->-]<.>+++[<-->-]<.++.>+++++++++++[<----->-]<.>+++++++[<-->-]<.>+++++++++
++++++++[<++>-]<.>++++++++[<++++++>-]<.-----------------.>++++[<++>-]<.+++++.>+
+++[<-->-]<.>+++++[<+++>-]<.>++++++[<--->-]<.>++++[<++>-]<.>+++++++++++++++++[<
---->-]<.>+++++++++++++++++++[<++++>-]<.---------------------------------------
--------------------------------------------.++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++.+++++.>+++[<++>-]<.>+++++[<--->-]<.++++
+++++++++.--.++.-------------.>+++++[<+++>-]<.>+++++[<--->-]<.+++++++++++++.>++
+++++++++++++++++++++++++++++++++++++++[<-->-]<.>+++++++++++++[<+++++>-]<.+++++
++++++++.>+++++[<-->-]<.>+++++++++++++++++[<---->-]<.>+++++++++++++++++++++++++
++++++++++++++++[<++>-]<.+++.-------.>+++[<++>-]<.-----------.++++.>++++[<-->-]
<.>+++++++++++++++++++++++[<--->-]<.>+++++++++++++[<+++++>-]<.+++++++++++++++++
.-------------.>+++++++++++++++++++++++[<--->-]<.>+++++++++++++++++++++++[<+++>
-]<.+++++++++++++++++.-----------------.>+++[<+++>-]<.>+++++++++++++[<------>-]
<.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++.>+++[<-->-]<.>++++[<--->-]<.+++++++++++..-------.+++++++++++++.>++++++++
+++++++++++++++++++++++++++++++++[<-->-]<.>++++++++++++[<+++++++>-]<.>++++[<---
>-]<.-------.+++++++++++++.>+++++++++++++[<------>-]<.>+++++++++++[<++++>-]<.++
+++++++++++++++++++++++++++++++++++++++.>+++++[<---->-]<.>+++++++++++++++++++++
++++++++[<-->-]<.>+++++++++++++++++++[<++++>-]<.-------------------------------
----------------------------------------.>++++[<--->-]<.>+++++++++++[<+++>-]<.+
++++++++++++.>+++++[<-->-]<.>++++++[<------>-]<.>++++++++++++[<+++++++>-]<.>+++
+[<--->-]<.---.>+++++++++++++++++++++++[<--->-]<.>+++++++++++++++++++[<++++>-]<
.-----------.+++++++++++++.-------.>+++++++[<++>-]<.>+++++[<---->-]<.>+++[<++>-
]<.--.>+++++++++++++++++++++++[<--->-]<.+++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++.>+++++[<++>-]<.-----------------------------
------------------------------------------------------.>+++++++++++++++++[<++++
>-]<.+.----.+++.>+++++++++++++++++[<---->-]<.++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++.>+++++[<-->-]<.++++.+++.----.
-------.>+++++++++++++++++[<---->-]<.
>+++++++++[<+++++++++>-]<+++.>+++++[<++++++>-]<.+++.>++++[<---->-]<.>
++++++++[<-------->-]<-----.>++++++++[<++++++++>-]<++++.---.>++++[<++
++>-]<+++.>+++++++++[<--------->-]<---.>+++[<++++>-]<+..>+++[<---->-]
<-.>++++++[<++++++>-]<.>+++[<+++>-]<++.>++[<+++>-]<.>+++[<++++>-]<+.>
++++[<----->-]<--.>+++++[<+++++>-]<.>++++++++[<-------->-]<-----.>+++
++++++[<+++++++++>-]<+++.>+++++[<------>-]<----.>+++++[<+++++++>-]<.>
++++++[<-------->-]<.>++++++[<------>-]<.>++++[<----->-]<---.
Interesting that a unit testing framework was the final straw. It's horrible not being able to use closures.
Granted, it's not garbage collection, but sometimes you have to write C++ and boost makes that manageable. boost::shared_ptr is based on refcounts, so you need to be aware of cycles and use boost::weak_ptr accordingly.