Why is it important to call destructors at program termination?
<p>If you check this link <a href="http://www.informit.com/guides/content.aspx?g=cplusplus&amp;seqNum=107" rel="nofollow">http://www.informit.com/guides/content.aspx?g=cplusplus&amp;seqNum=107</a>
it's written:</p>

<blockquote>
  <p>"For example, the abort() and exit() library functions are never to be used in an object-oriented environment—even during debugging—because they don't invoke objects' destructors before program termination."</p>
</blockquote>

<p>Why does the destructor need to be called when one calls exit? (Since the OS guarantees memory will be reclaim whenever a program exits, right?)</p>
