Heap
Dynamic variables come from a special area of memory called the heap
As with the stack this is a finite resource so we should return this space whenever possible by using the delete operator
It is unlikely that you will exhaust the heap but if you do calls to new will fail
In the old days this meant that new would return NULL
Now new will throw an exception … more on this later