title: std::vector not exception-safe?
body: <p>I've heard it mentioned a couple of times that <code>std::vector</code> is not exception-safe when storing raw pointers and that one should use <code>unique_ptr</code> or <code>shared_ptr</code> instead.</p>
  
  <p>My question is, why is <code>std::vector</code> not exception-safe and how do these classes fix that?</p>