C++ Common Knowledge: Essential Intermediate Programming - Dewhurst