title: Are the parameters of a macro executed given the #define'ition ((void)0)?
body: <p>I have the following macro in C++</p>
  
  <pre><code>#define AppLogExceptionIf(condition, ...) ((void) 0)
  </code></pre>
  
  <p>I was wondering whether the <code>condition</code> would still get executed? Am I right in thinking the expansion is equivalent to a</p>
  
  <pre><code>false;
  </code></pre>
  
  <p>statement regardless of the <code>condition</code>, eg:</p>
  
  <pre><code>AppLogExceptionIf(0 == (x = 5), "Big problem!");
  </code></pre>
  
  <p>Would not assign to <code>x</code>?</p>