When using shared_ptr should I just use the shared_ptr declaration once or declare shared_ptr everywhere I pass it?
<p>When using <code>shared_ptr</code>, should I just use the <code>shared_ptr</code> declaration once or declare <code>shared_ptr</code> everywhere I pass it?</p>

<p>So in the function where I new up the instance I wrap it in a <code>shared_ptr</code> but when I return it from the function I could also return a <code>shared_ptr</code> or, using the <code>get()</code> on the <code>shared_ptr</code>, just return a normal pointer.</p>

<p>So my question is, should I just use <code>shared_ptr&lt;myType&gt;</code> when I new the instance and then pass normal pointers around or should I be passing <code>shared_ptr&lt;myType&gt;</code> everywhere?</p>
