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)

Arrays

We have used arrays in our preceding examples, but we have not really provided a formal definition for that useful-yet-low-level construct. Note that in this section, the term “array” refers to raw, built-in arrays, not to other very useful but higher-level constructs such as std::vector<T> or std::array<T,N>.

Quite simply, in C++, an array is a contiguous sequence of elements of the same type. Thus, in the following excerpt, the a0 object occupies 10*sizeof(int) bytes in memory, whereas the a1 object occupies 20*sizeof(std::string) bytes:

int a0[10];
std::string a1[20];

The number of bytes between elements at indices i and i+1 in an array of some type T is precisely equal to sizeof(T).

Consider the following expression, which would be used in C++, as in C, for some array arr:

arr[i]

It evaluates to the same address as the following:

*(arr + i)

Since pointer arithmetic is typed, the + i part in this expression means “plus...

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