 If the program does not deallocate an object, a memory leak occurs.If the program attempts to access or deallocate memory that has already been deallocated, the result is undefined and difficult to predict, and the program is likely to become unstable or crash.This can be partially remedied by the use of smart pointers, but these add overhead and complexity.