C++ Memory Management: Write leaner and safer C++ code using proven memory-management techniques

$33.59
by Patrice Roy

Shop Now
“This book contains something for everyone, even the most seasoned C++ programmer.” - Guy Davidson, ISO C and C++ Standard Committee Voting Member “A solid foundation in memory management that quickly builds to advanced, modern C++ concepts.” - Yacob Cohen Arazi, Software Engineer at NVIDIA “This book challenged my thinking and changed how I design embedded C++ systems.” - Khalil Estell, ISO C++ Committee Member Key Features Use contemporary C++ features to enhance code safety and reliability - Develop a deeper understanding of memory management mechanisms in C++ - Write programs that adapt to the constraints of your chosen architecture or platform Book Description Memory management in C++ isn't one-size-fits-all; real-time systems, games, and embedded applications each present unique memory constraints. This book delivers targeted solutions for each domain. Written by ISO C++ Standards Committee member, Patrice Roy, this guide covers fundamental concepts of object lifetime and memory organization to help you write simpler and safer programs. You’ll learn how to control memory allocation mechanisms, create custom containers and allocators, and adapt allocation operators to suit your specific requirements, making your programs smaller, faster, safer, and more predictable. From core principles to modern facilities that simplify your work, you’ll master memory management mechanics, build tailored memory solutions for your application needs, and measure their impact on your program’s behavior. By the end of this book, you’ll be able to write secure programs that handle memory optimally for your application domain. You will also have a strong grasp of both high-level abstractions for safer programs and low-level abstractions that allow detailed customization. What you will learn Master the C++ object model to write more efficient and maintainable code - Automate resource management to reduce manual errors and improve safety - Customize memory allocation operators to optimize performance for specific applications - Develop your own smart pointers to manage dynamic memory with greater control - Adapt allocation behavior to meet the unique needs of different data types - Create safe and fast containers to ensure optimal data handling in your programs - Utilize standard allocators to streamline memory management in your containers Who this book is for This book is for programmers who find C++ memory management challenging yet want to master it. It’s ideal for those seeking greater control over memory allocation to make their programs smaller, faster, and safer. Whether you're a seasoned C++ developer or transitioning from other languages, you'll gain insights into how C++ can enhance your programming. It’s especially valuable if you’re working in constrained environments, like embedded systems or game development. Prior experience with programming concepts, such as generic and concurrent programming, is helpful. Table of Contents Objects, Pointers, and References - Things to Be Careful With - Casts and cv-qualifications - Using Destructors - Using Standard Smart Pointers - Writing Smart Pointers - Overloading Memory Allocation Operators - Writing a Naïve Leak Detector - Atypical Allocation Mechanisms - Arena-Based Memory Management and Other Optimizations - Deferred Reclamation - Writing Generic Containers with Explicit Memory Management - Writing Generic Containers with Implicit Memory Management - Writing Generic Containers with Allocator Support - Contemporary Issues “This book contains something for everyone, even the most seasoned C++ programmer. Patrice Roy’s experience as a teacher shines through, with themes carefully introduced and steadily built upon—from fundamental concepts to sophisticated custom allocators and containers. I’m really glad Patrice has written this book.” Guy Davidson, ISO C and C++ Standard Committee Voting Member “The book provides a solid foundation in memory management fundamentals, including class layouts, determining size of objects, and leveraging smart pointers. It quickly progresses to sophisticated concepts like memory arenas, containers, and Polymorphic Memory Resources (PMRs). This depth makes it valuable for both new and experienced developers.” Yacob Cohen Arazi, Software Engineer at NVIDIA “Reading this book helped me move past old assumptions. It gave me the knowledge and confidence to transition my embedded C++ code to use dynamic memory allocation at initialization, with explicit allocators and smart pointers that eliminate lifetime safety issues. It’s more than a reference—it challenged my thinking and changed how I design systems.” Khalil Estell, ISO C++ Committee Member Patrice Roy has been playing with C++ professionally, for pleasure, or (mostly) both for over 30 years. After a few years doing R&D and working on military flight simulators, he moved on to academics and has taught computer science since 1998. Since 2005, he has been involved more specifically in

Customer Reviews

No ratings. Be the first to rate

 customer ratings


How are ratings calculated?
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzes reviews to verify trustworthiness.

Review This Product

Share your thoughts with other customers