Thinking in C++, www.bruceeckel.com

Great stuff