Introduction xli Part I: Introduction to Professional C++ Chapter 1: a Crash Course in C++ and the Standard Library 3 Chapter 2: Working with Strings and String Views 87 Chapter 3: Coding with Style 119 Part II: Professional C++ Software Design Chapter 4: Designing Professional C++ Programs 145 Chapter 5: Designing with Classes 177 Chapter 6: Designing for Reuse 197 Part III: C++ Coding the Professional Way Chapter 7: Memory Management 221 Chapter 8: Gaining Proficiency with Classes and Objects 259 Chapter 9: Mastering Classes and Objects 295 Chapter 10: Discovering Inheritance Techniques 357 Chapter 11: Modules, Header Files, and Miscellaneous Topics 421 Chapter 12: Writing Generic Code with Templates 451 Chapter 13: Demystifying C++ I/o 501 Chapter 14: Handling Errors 533 Chapter 15: Overloading C++ Operators 577 Chapter 16: Overview of the C++ Standard Library 619 Chapter 17: Understanding Iterators and The Ranges Library 653 Chapter 18: Standard Library Containers 683 Chapter 19: Function Pointers, Function Objects, and Lambda Expressions 761 Chapter 20: Mastering Standard Library Algorithms 791 Chapter 21: String Localization and Regular Expressions 831 Chapter 22: Date and Time Utilities 861 Chapter 23: Random Number Facilities 879 Chapter 24: Additional Vocabulary Types 891 Part IV: Mastering Advanced Features of C++ Chapter 25: Customizing and Extending the Standard Library 909 Chapter 26: Advanced Templates 945 Chapter 27: Multithreaded Programming with C++ 985 Part V: C++ Software Engineering Chapter 28: Maximizing Software Engineering Methods 1043 Chapter 29: Writing Efficient C++ 1065 Chapter 30: Becoming Adept at Testing 1093 Chapter 31: Conquering Debugging 1117 Chapter 32: Incorporating Design Techniques And Frameworks 1155 Chapter 33: Applying Design Patterns 1179 Chapter 34: Developing Cross- Platform and Cross- Language Applications 1211 Part VI: Appendices Appendix A: C++ Interviews 1239 Appendix B: Annotated Bibliography 1265 Appendix C: Standard Library Header Files 1277 Appendix D: Introduction to Uml 1287 Index 1293.
Professional C++