title: Should i delete a moved from dynamic pointer
body: <p>I understand how to move an object, for example:</p>
  <pre><code>int a(5), b(6);
  int c(std::move(a)); // move constructor
  c = std::move(b);    // move assignment
  </code></pre>
  <p>I understand the common implementation of a custom move constructor (which takes the ownership of a dynamic pointer and sets the moved-from pointer to <code>nullptr</code>.)</p>
  <p>But I haven't found anything about moving a dynamically allocated pointer itself.  I need confirmation that the following code is legal:</p>
  <pre><code>int *p(new int(42));
  int val(std::move(*p));
  delete p; // I think this is no longer necessary. Is it?
  </code></pre>
  <p>So, is it allowed to move a dynamic pointer?</p>