The heap (free store) and memory allocation failure
“new” allocates memory for a dynamic variable from a location called the heap or free store.
Computers may run out of heap, causing “new” to fail.
“new” fails by calling “new_handler” which, by default, prints an error message and halts the program.