title: Remove item from a list using its pointer
body: <p>I have a pointer <code>p</code> (not an iterator) to an item in a list. Can I then use <code>p</code> to delete (erase) the item from the list? Something like:</p>
  
  <pre><code>mylist.erase(p);
  </code></pre>
  
  <p>So far I have only been able to do this by iterating through the list until I reach an item at the location <code>p</code>, and then using the <code>erase</code> method, which seems very inefficient.</p>