Thinking in C++ - Eckel, Bruce; Author (2001)