How Not to Program in C++
111 Broken Programs and 3 Working Ones, or Why Does 2+2=5986?
It contains a hefty collection of broken programs, together with hints and answers. The author also offers “avoidance” techniques for some of the problems presented. Almost each program is accompanied with a joke (for programmers).
Apart from the obvious interest in programming, the book was very pleasant to read. I love books divided into tiny parts, so that I can enjoy them even if I have only 5 minutes of spare time.