C++ › Memory Management

What is a memory leak?

Beginner

Answer

A memory leak occurs when heap memory is allocated but never freed, so it remains reserved for the program's lifetime, gradually exhausting available memory. Leaks happen when a delete is missed, a pointer is overwritten before freeing, or an exception skips the cleanup. RAII/smart pointers prevent most leaks.
int* p = new int(1);
p = new int(2);   // first allocation leaked
Real-world example A long-running server slowly consumes all memory because a handler forgets to free per-request buffers.

Common follow-ups: How do smart pointers prevent leaks? | What tools detect leaks?