title: Mixing assignment and compound assignment operators - Precedence?
body: <p>I have been trying to figure out, will chaining together assignment and compound assignment operators always work predictably from right-to-left? Example:</p>
  
  <pre><code>a = b += c
  </code></pre>
  
  <p>Will this always be evaluated as</p>
  
  <pre><code>a = (b += c)
  </code></pre>
  
  <p>no matter what other compound operators and order of operators I substitute?</p>
  
  <p>There have been several times today when I have been hesitant to chain these various operators together without knowing for sure how the precedence will be evaluated. The <a href="http://en.cppreference.com/w/cpp/language/operator_precedence" rel="nofollow">source</a> I usually reference is ambiguous, because it says that, even though these operators have the same precedence level, that "an operator which is listed on some row will be bound tighter (as if by parentheses) to its arguments than any operator that is listed on a row further below it." - this suggests that the plain assignment operator might be "bound tighter" to <code>a</code> &amp; <code>b</code> than the compound assignment operator is to <code>b</code> and <code>c</code> in the example above.</p>