Skip to main content

Professional C++, 4th Edition

Paperback

$65.00

Professional C++, 4th Edition

Marc Gregoire

ISBN: 978-1-119-42130-6 April 2018 1184 Pages

E-Book
$42.99
Paperback
$65.00
O-Book
Download Product Flyer

Download Product Flyer

Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description.

Description

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.

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

Chapter 1
Download
Chapter 2
Download
Chapter 7
Download
Chapter 8
Download
Chapter 9
Download
Chapter 10
Download
Chapter 11
Download
Chapter 12
Download
Chapter 13
Download
Chapter 14
Download
Chapter 15
Download
Chapter 16
Download
Chapter 17
Download
Chapter 19
Download
Chapter 20
Download
Chapter 21
Download
Chapter 22
Download
Chapter 23
Download
Chapter 25
Download
Chapter 26
Download
Chapter 27
Download
Chapter 28
Download
Chapter 29
Download
Chapter 30
Download
Full Code Download
Download
README
Download