C++ Primer, 4/E by Stanley B. Lippman & Josee Lajoie