c++, when do you need/have to pass data as (*&)
<p>I came across people passing data objects as:</p>

<p>declaration:</p>

<pre><code>DataObject * data = 0;
</code></pre>

<p>calling it as:</p>

<pre><code>SomeMethod( data );
</code></pre>

<p>definition of Somethod:</p>

<pre><code>void SomeMethod(SomeObject * &amp; object)
</code></pre>

<p>My obvious question is, when and why do you have to do this (&amp; *)?
Is it passing the pointer as reference?</p>
