Custom Memory Management
Learn how to design custom memory management techniques for your code.
We'll cover the following...
Designing a custom memory
We have come a long way in this chapter now. We have covered the basics of virtual memory, the stack and the heap, the new and delete expressions, memory ownership, and alignment and padding. But before we close this chapter, we will show how to customize memory management in C++. We will see how the parts we went through earlier in this chapter will come in handy when writing a custom memory allocator.
But first, what is a custom memory manager, and why do we need one?
When using new or malloc() to allocate memory, we use the built-in memory management system in C++. Most implementations of operator new use malloc(), a general-purpose memory allocator. Designing and building a general-purpose memory manager is a complicated task, and there are many people who have already spent a lot of time researching this topic. Still, there are several reasons why we might want to write a custom memory manager. Here ...