Is it good style to hide shared_ptr behind a typedef?
<p>I'd like to reduce some visual noise in the code and hide <code>shared_ptr</code> behind a typedef like this:</p>

<pre><code>typedef boost::shared_ptr&lt;SomeLongClass&gt; SomeLongClassPtr;
</code></pre>

<p>So this:</p>

<pre><code>void foo(const boost::shared_ptr&lt;SomeLongClass&gt;&amp; a,
         boost::shared_ptr&lt;SomeLongClass&gt;&amp; b);
</code></pre>

<p>becomes this:</p>

<pre><code>void foo(const SomeLongClassPtr&amp; a, SomeLongClassPtr&amp; b);
</code></pre>

<p>On the other hand I'm worried that I'm reducing the explicitness of the code.</p>

<p>Which is a better style?</p>
