All the objects we use in a C++ program reside in memory. Here, we will explore how objects are created and deleted from memory and also describe how objects are laid out in memory.
Objects in memory
Creating and deleting objects
In this section, we will dig into the details of using new and delete. We are all familiar with the standard way of using new for creating an object on the free store and then deleting it using delete:
auto user = new User{"John"}; // allocate and construct user->print_name(); // use object delete user; // destruct and deallocate
As the comments suggest, new actually does two things:
- Allocates memory to hold a new object of the User type
- Constructs a...