title: Pointers vs auto_ptr vs shared_ptr
body: <p>I was recently introduced to the existence of <code>auto_ptr</code> and <code>shared_ptr</code> and I have a pretty simple/naive question.</p>
  
  <p>I try to implement a data structure and I need to point to the children of a <code>Node</code> which (are more than 1 and its) number may change. Which is the best alternative and why:</p>
  
  <pre><code>class Node
  {
      public:
          // ...
          Node *children;
  
      private:
          //...
  }
  
  class Node
  {
      public:
          // ...
          share_ptr&lt;Node&gt; children;
  
      private:
          //...
  }
  </code></pre>
  
  <p>I am not sure, but I think <code>auto_ptr</code> does not work for arrays. I am not, also, sure about whether I should use double pointers. Thanks for any help.</p>