C++ Standard Library From Scratch by Pablo Halpern
C++ Standard Library From Scratch walks you through the analysis, design and implementation of a functioning personal information manager (PIM) using strings, streams, and the Standard Template Library. You will learn all the critical programming concepts and techniques associated with the Standard Library in the context of creating a working application, the "TinyPIM" address and calendar application. Every example builds the application throughout the book. In the end, you will have created an application that allows you to track contacts, sort addresses, and enter events and appointments.