title: Is func() + func() undefined behavior?
body: <p>I only know <code>i = i++;</code> is <em>undefined behavior</em>, but if there are two or more functions called in an <em>expression</em>, and all the functions are the same. Is it <em>undefined</em>? For example:</p>
  
  <pre><code>int func(int a)
  {
      std::cout &lt;&lt; a &lt;&lt; std::endl;
      return 0;
  }
  
  int main()
  {
      std::cout &lt;&lt; func(0) + func(1) &lt;&lt; std::endl;
      return 0;
  }
  </code></pre>