Ruminations on C++ a decade of programming insight and experience - Koenig, Andrew (Addison-Wesley, 1997)