title: Will exit() or an exception prevent an end-of-scope destructor from being called?
body: <p>Let's say I have the following code:</p>
  
  <pre><code>struct mytype
  {
      ~mytype() { /* do something like call Mix_CloseAudio etc */ }
  };
  
  int main()
  {
      mytype instant;
  
      init_stuff();
  
      start();
  
      return 0;
  }
  </code></pre>
  
  <p>Is that destructor guaranteed to be called even if exit() is used from somewhere inside start() ?</p>