title: Is it acceptable not to deallocate memory
body: <p>I'm working on a project that is supposed to be used from the command line with the following syntax:</p>
  
  <pre><code>program-name input-file
  </code></pre>
  
  <p>The program is supposed to process the input, compute some stuff and spit out results on stdout.</p>
  
  <p>My language of choice is C++ for several reasons I'm not willing to debate. The computation phase will be highly symbolic (think compiler) and will use pretty complex dynamically allocated data structures. In particular, it's not amenable to RAII style programming.</p>
  
  <p>I'm wondering if it is acceptable to forget about freeing memory, given that I expect the entire computation to consume less than the available memory and that the OS is free to reclaim all the memory in one step after the program finishes (assume program terminates in seconds). What are your feeling about this?</p>
  
  <p>As a backup plan, if ever my project will require to run as a server or interactively, I figured that I can always refit a garbage collector into the source code. Does anyone have experience using garbage collectors for C++? Do they work well?</p>