title: Should I store entire objects, or pointers to objects in containers?
body: <p>Designing a new system from scratch.  I'll be using the STL to store lists and maps of certain long-live objects.</p>
  
  <p>Question:  Should I ensure my objects have copy constructors and store copies of objects within my STL containers, or is it generally better to manage the life &amp; scope myself and just store the pointers to those objects in my STL containers?</p>
  
  <p>I realize this is somewhat short on details, but I'm looking for the "theoretical" better answer if it exists, since I know both of these solutions are possible.</p>
  
  <p>Two very obvious disadvantage to playing with pointers:
  1) I must manage allocation/deallocation of these objects myself in a scope beyond the STL.
  2) I cannot create a temp object on the stack and add it to my containers.</p>
  
  <p>Is there anything else I'm missing?</p>