title: Is Short Circuit Evaluation guaranteed In C++ as it is in Java?
body: <p>In Java, I use</p>
  
  <pre><code>if (a != null &amp;&amp; a.fun());
  </code></pre>
  
  <p>by taking full advantage of short-circuit evaluation and expression are evaluated from left to right?</p>
  
  <p>In C++, can I do the same? Are they guarantee to portable across different platform and compiler?</p>
  
  <pre><code>if (a != 0 &amp;&amp; a-&gt;fun());
  </code></pre>