Thinking in C++. - Eckel Bruce (2000)