A Hands-On Approach to Allocators

In Chapter 7, A Comprehensive Look at Memory Management, we learned how to allocate and deallocate memory using C++-specific techniques, including the use of std::unique_ptr and std::shared_ptr. In addition, we learned about fragmentation and how it is capable of wasting large amounts of memory depending on how memory is allocated and then later deallocated. System programmers often have to allocate memory from different pools (sometimes originating from different sources), and handle fragmentation to prevent the system from running out of memory during operation. This is especially true for embedded programmers. Placement new() may be used to solve these types of issues, but implementations based on placement ...

Get Hands-On System Programming with C++ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.