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

Rights Contact Login For More Details

  • Wiley

More About This Title Professional C++, Fourth Edition

English

Get up to date quickly on the new changes coming with C++17

Professional C++ is the advanced manual for C++ programming. Designed to help experienced developers get more out of the latest release, this book skims over the basics and dives right in to exploiting the full capabilities of C++17. Each feature is explained by example, each including actual code snippets that you can plug into your own applications. Case studies include extensive, working code that has been tested on Windows and Linux, and the author's expert tips, tricks, and workarounds can dramatically enhance your workflow. Even many experienced developers have never fully explored the boundaries of the language's capabilities; this book reveals the advanced features you never knew about, and drills down to show you how to turn these features into real-world solutions.

The C++17 release includes changes that impact the way you work with C++; this new fourth edition covers them all, including nested namespaces, structured bindings, string_view, template argument deduction for constructors, parallel algorithms, generalized sum algorithms, Boyer-Moore string searching, string conversion primitives, a filesystem API, clamping values, optional values, the variant type, the any type, and more. Clear explanations and professional-level depth make this book an invaluable resource for any professional needing to get up to date quickly.

  • Maximize C++ capabilities with effective design solutions
  • Master little-known elements and learn what to avoid
  • Adopt new workarounds and testing/debugging best practices
  • Utilize real-world program segments in your own applications

C++ is notoriously complex, and whether you use it for gaming or business, maximizing its functionality means keeping up to date with the latest changes. Whether these changes enhance your work or make it harder depends on how well-versed you are in the newest C++ features. Professional C++ gets you up to date quickly, and provides the answers you need for everyday solutions.

English

About the author

Marc Gregoire is a Microsoft Visual C++ MVP, software engineer and developer, and the founder of the Belgian C++ user group. Having previously completed critical 2G and 3G telecom software for Siemens and Nokia Siemens Networks, he currently works on 3-D laser scanning software for Nikon Metrology. Marc is the author of Profesional C++ second and third editions and technical editor for numerous published works.

Visit us at wrox.com where you have access to free code samples.

English

INTRODUCTION xlvii

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 57

CHAPTER 3: CODING WITH STYLE 71

PART II: PROFESSIONAL C++ SOFTWARE DESIGN

CHAPTER 4: DESIGNING PROFESSIONAL C++ PROGRAMS 95

CHAPTER 5: DESIGNING WITH OBJECTS 123

CHAPTER 6: DESIGNING FOR REUSE 143

PART III: C++ CODING THE PROFESSIONAL WAY

CHAPTER 7: MEMORY MANAGEMENT 163

CHAPTER 8: GAINING PROFICIENCY WITH CLASSES AND OBJECTS 199

CHAPTER 9: MASTERING CLASSES AND OBJECTS 231

CHAPTER 10: DISCOVERING INHERITANCE TECHNIQUES 277

CHAPTER 11: C++ QUIRKS, ODDITIES, AND INCIDENTALS 333

CHAPTER 12: WRITING GENERIC CODE WITH TEMPLATES 373

CHAPTER 13: DEMYSTIFYING C++ I/O 409

CHAPTER 14: HANDLING ERRORS 433

CHAPTER 15: OVERLOADING C++ OPERATORS 473

CHAPTER 16: OVERVIEW OF THE C++ STANDARD LIBRARY 507

CHAPTER 17: UNDERSTANDING CONTAINERS AND ITERATORS 535

CHAPTER 18: MASTERING STANDARD LIBRARY ALGORITHMS 607

CHAPTER 19: STRING LOCALIZATION AND REGULAR EXPRESSIONS 663

CHAPTER 20: ADDITIONAL LIBRARY UTILITIES 691

PART IV: MASTERING ADVANCED FEATURES OF C++

CHAPTER 21: CUSTOMIZING AND EXTENDING THE STANDARD LIBRARY 727

CHAPTER 22: ADVANCED TEMPLATES 775

CHAPTER 23: MULTITHREADED PROGRAMMING WITH C++ 813

PART V: C++ SOFTWARE ENGINEERING

CHAPTER 24: MAXIMIZING SOFTWARE ENGINEERING METHODS 859

CHAPTER 25: WRITING EFFICIENT C++ 881

CHAPTER 26: BECOMING ADEPT AT TESTING 909

CHAPTER 27: CONQUERING DEBUGGING 933

CHAPTER 28: INCORPORATING DESIGN TECHNIQUES AND FRAMEWORKS 971

CHAPTER 29: APPLYING DESIGN PATTERNS 991

CHAPTER 30: DEVELOPING CROSS-PLATFORM AND CROSSLANGUAGE APPLICATIONS 1017

APPENDIX A: C++ INTERVIEWS 1039

APPENDIX B: ANNOTATED BIBLIOGRAPHY 1063

APPENDIX C: STANDARD LIBRARY HEADER FILES 1075

APPENDIX D: INTRODUCTION TO UML 1083

INDEX 1087

loading