title: Check for null in std::shared_ptr
body: <p>I was wondering if i need to check whether <code>sp</code> is <code>null</code> before i use it.
  Correct me if I am wrong but creating an alias will not increase the ref counter and therefore by entering into the method we are working with a shared pointer which we don't know if the embedded pointer has been reset before.. am I correct by assuming this?</p>
  
  <pre><code>Class::MyFunction(std::shared_ptr&lt;foo&gt; &amp;sp)
  {    
      ...  
      sp-&gt;do_something();  
      ...  
  }
  </code></pre>