Professional C++, Second Edition
Buy Rights Online Buy Rights

Rights Contact Login For More Details

More About This Title Professional C++, Second Edition

English

Essential reading for experienced developers who are determined to master the latest release of C++

Although C++ is often the language of choice from game programming to major commercial software applications, it is also one of the most difficult to master. With this no-nonsense book, you will learn to conquer the latest release of C++. The author deciphers little-known features of C++, shares detailed code examples that you can then plug into your own code, and reveals the significant changes to C++ that accompany the latest release. You'll discover how to design and build applications that solve real-world problems and then implement the solution using the full capabilities of the language.

Appeals to experienced developers who are looking for a higher level of learning

Drills down the extensive changes to the latest C++ standard, C++11, including enhancements made to run-time performance, standard library, language usability, and core languageZeroes in on explaining the more poorly understood elements of the C++ feature set and addresses common pitfalls to avoidIncludes case studies that feature extensive, working code that has been tested on Windows and Linux platformsIntertwines text with useful tips, tricks, and workarounds

Packed with best practices for programming, testing, and debugging applications, this book is vital for taking your C++ skills to the next level.

English

Marc Gregoire is a Microsoft Visual C++ MVP, an active contributor to CodeGuru, and blogs at www.nuonsoft.com/blog/. Marc is a software architect, worked for Siemens and Nokia Siemens Networks as a software consultant, and now works for Nikon Metrology.

Nicholas A. Solter is an application architect at ContextOptional, Inc., a social media advertising company.

Scott J. Kleper is cofounder and CTO of ContextOptional, Inc.

English

INTRODUCTION xxv

PART I: INTRODUCTION TO PROFESSIONAL C++

CHAPTER 1: A CRASH COURSE IN C++ 3

CHAPTER 2: DESIGNING PROFESSIONAL C++ PROGRAMS 49

CHAPTER 3: DESIGNING WITH OBJECTS 77

CHAPTER 4: DESIGNING FOR REUSE 97

CHAPTER 5: CODING WITH STYLE 111

PART II: C++ CODING THE PROFESSIONAL WAY

CHAPTER 6: GAINING PROFICIENCY WITH CLASSES AND OBJECTS 133

CHAPTER 7: MASTERING CLASSES AND OBJECTS 169

CHAPTER 8: DISCOVERING INHERITANCE TECHNIQUES 211

CHAPTER 9: UNDERSTANDING C++ QUIRKS AND ODDITIES 267

CHAPTER 10: HANDLING ERRORS 317

CHAPTER 11: DELVING INTO THE STANDARD LIBRARY 361

CHAPTER 12: UNDERSTANDING CONTAINERS AND ITERATORS 385

CHAPTER 13: MASTERING STL ALGORITHMS 457

CHAPTER 14: USING STRINGS AND REGULAR EXPRESSIONS 509

CHAPTER 15: DEMYSTIFYING C++ I/O 545

CHAPTER 16: ADDITIONAL LIBRARY UTILITIES 569

CHAPTER 17: CUSTOMIZING AND EXTENDING THE STL 595

PART III: MASTERING ADVANCED FEATURES OF C++

CHAPTER 18: OVERLOADING C++ OPERATORS 645

CHAPTER 19: WRITING GENERIC CODE WITH TEMPLATES 683

CHAPTER 20: ADVANCED TEMPLATES 715

CHAPTER 21: EFFECTIVE MEMORY MANAGEMENT 759

CHAPTER 22: MULTITHREADED PROGRAMMING WITH C++ 797

PART IV: C++ SOFTWARE ENGINEERING

CHAPTER 23: MAXIMIZING SOFTWARE ENGINEERING METHODS 839

CHAPTER 24: WRITING EFFICIENT C++ 859

CHAPTER 25: DEVELOPING CROSS-PLATFORM AND CROSS-LANGUAGE APPLICATIONS 883

CHAPTER 26: BECOMING ADEPT AT TESTING 905

CHAPTER 27: CONQUERING DEBUGGING 927

CHAPTER 28: INCORPORATING DESIGN TECHNIQUES AND FRAMEWORKS 967

CHAPTER 29: APPLYING DESIGN PATTERNS 985

APPENDIX A: C++ INTERVIEWS 1013

APPENDIX B: ANNOTATED BIBLIOGRAPHY 1035

APPENDIX C: STANDARD LIBRARY HEADER FILES 1045

INDEX 1053

loading