Is there any specific use when a c/c++ sentence consists of only a variable name?
<p>I once saw a snip of code as below,</p>

<pre><code>/** Starts a synchronized block
*
*   This macro starts a block synchronized on its argument x
*   Note that the synchronized block defines a scope (i.e. { })
*   All variables declared in it will live inside this block only
*/
#define SYNCHRONIZE_ON(x) { \
                const abcd::LockBase &amp; __lock = \
                                abcd::MakeLock(x); __lock;

/** Ends a synchronized block */
#define END_SYNCHRONIZE   }
</code></pre>

<p>The <code>SYNCHRONIZE_ON</code> and <code>END_SYNCHRONIZE</code> are used together to synchronize on an object.
The macro <code>SYNCHRONIZE_ON</code> defines a variable <code>____lock</code> in it's block.</p>

<p>The question here is: <strong>what is the sentence <code>__lock;</code> (after the <code>abcd::MakeLock(x);</code>) for?</strong> Notice that this sentence consist of only the variable name.</p>
