title: Delete std::thread after calling join?
body: <p>I have some code that dynamically allocates a new <code>std::thread</code> from the C++11 <code>&lt;thread&gt;</code> header, like this:</p>
  
  <pre><code>std::thread *th = new thread( /* my args */);
  </code></pre>
  
  <p>Some time later, I call join:</p>
  
  <pre><code>th-&gt;join();
  </code></pre>
  
  <p>Since I dynamically allocated the thread, do I also need to call <code>delete th;</code> to free the memory? If I do, do I still need to call <code>join()</code> first?</p>