Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying C++ Memory Management
  • Table Of Contents Toc
C++ Memory Management

C++ Memory Management

By : Patrice Roy
3.7 (3)
close
close
C++ Memory Management

C++ Memory Management

3.7 (3)
By: Patrice Roy

Overview of this book

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.
Table of Contents (23 chapters)
close
close
Lock Free Chapter
1
Part 1: Memory in C++
5
Part 2: Implicit Memory Management Techniques
9
Part 3: Taking Control (of Memory Management Mechanisms)
15
Part 4: Writing Generic Containers (and a Bit More)

Some pitfalls

Destructors are wonderful. They allow us to automate tasks, they simplify code and they make it safer in general. Still, there are some caveats, some aspects of using destructors that require particular attention.

Destructors should not throw

The title of this section says it quite simply: destructors should not throw. They can throw, but it’s a bad idea to do so.

That might seem surprising at first. After all, constructors can (and do!) throw exceptions. When a constructor throws, it means that the constructor cannot satisfy its postconditions: the object under construction was not constructed (the constructor did not complete!) so that object does not exist. That’s a simple, working model.

If a destructor throws… well, it’s probably the end of your program. Indeed, destructors are implicitly noexcept, which means that throwing from a destructor will call std::terminate() and that will be the end of your program.

Well, you might...

CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
C++ Memory Management
notes
bookmark Notes and Bookmarks search Search in title playlist Add to playlist download Download options font-size Font size

Change the font size

margin-width Margin width

Change margin width

day-mode Day/Sepia/Night Modes

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY

Submit Your Feedback

Modal Close icon
Modal Close icon
Modal Close icon