I'm implementing a sparse matrix with linked lists and it's not fun to manually check for leaks, any thoughts?
The valgrind
profiler for Unix offers a decent leak detection.
However, this is only one part of a successful approach. The other part is to prevent (i.e. minimize) explicit memory handling. Smart pointers and allocators can help a great deal in preventing memory leaks. Also, do use the STL classes: a leak-free linked list implementation is already provided by std::list
.
On Windows:
Compuware BoundChecker (bit costly but very nice)
Visual LeakDetector (free, google it)
On Linux/Unix:
Purify
The original version of Purify on Unix was brilliant. But the Windows version produced after Rational bought it is terrible. Flakey as hell. Avoid at all costs.
You can read good article about memory leaks on Wikipedia: http://en.wikipedia.org/wiki/Memory_leak
This page also has the good links to other articles and even programms that will help you a lot.