It releases the memory it allocated itself.
If you store pointers in the QVector, and those should happen (because they don't need to) to have been allocated on the heap (with new)... then this allocated memory will not be freed.
One simple solution is to put smart pointers (a boost::shared_ptr, or Qt 4.5's upcoming smart ptrs) inside such containers.
Another way would be to call qDeleteAll before clearing the container.
HTH
Bookmarks