title: NULL pointer with boost::shared_ptr?
body: <p>What's the equivalent to the following:</p>
  
  <pre><code>std::vector&lt;Foo*&gt; vec;
  vec.push_back(NULL);
  </code></pre>
  
  <p>when dealing with <code>boost::shared_ptr</code>? Is it the following code?</p>
  
  <pre><code>std::vector&lt; boost::shared_ptr&lt;Foo&gt; &gt; vec;
  vec.push_back(boost::shared_ptr&lt;Foo&gt;());
  </code></pre>
  
  <p>Note: I may push back a lot of such objects. Should I declare a global static <code>nullPtr</code> object somewhere? That way only one of them would have to be constructed:</p>
  
  <pre><code>boost::shared_ptr&lt;Foo&gt; nullPtr;
  </code></pre>