CPP Primer Chapter 4