title: C++ lazy evaluation of boolean or in function call expression
body: <p>Quick question, in c++ is this expression lazily evaluated?</p>
  
  <pre><code>bool funca();
  bool funcb();
  
  funca() || funcb(); // line in question
  </code></pre>
  
  <p>Obviously this is (potentially) just shorthand for the following:</p>
  
  <pre><code>bool funca();
  bool funcb();
  
  if (!funca()) {
      funcb();
  }
  
  // or even more concisely:
  
  if (!funca()) funcb();
  </code></pre>
  
  <p>Will c++ evaluate that original line in question as I'm hoping it will? Thanks.</p>