title: Is there ordering with c++ && (AND) operator
body: <p><code>a</code> - checks whether input is defined for function <code>b</code></p>
  
  <pre><code>if (a) {
      if (b) {
          /* ... */
      }
  }
  </code></pre>
  
  <p>clearly works.
  Does the <code>&amp;&amp;</code>-operator always check the first input?</p>
  
  <pre><code>if (a &amp;&amp; b) {
      /* ... */
  }
  </code></pre>
  
  <p>Would this possibly cause undefined behaviour from b function?</p>