Ran into this at work "operator ClassName *". What does this mean?
<p>The class with this code is a reference class for a pointer of ClassName, i.e.:</p>

<pre><code>class ClassName;

class ClassRef
{
    ClassName* m_class;
    ...
    operator ClassName *() const { return m_class; }
...
</code></pre>

<p>I am assuming this is used for pointer validity checks, such as:</p>

<pre><code>ClassRef ref(new ClassName())
if (ref) { bla bla bla }
</code></pre>

<p>Am I correct in my thinking?</p>
