In the expression left() = right(), why is right() sequenced first? : <p>In C++, the expression <code>left() = right()</code> evaluates</p>

<ol>
<li><code>right()</code></li>
<li><code>left()</code></li>
</ol>

<p>in that sequence. The <code>right()</code> goes first, as has been discussed <a href="https://stackoverflow.com/q/52762511/1275653">here.</a></p>

<p>I cannot think of a reason for <code>right()</code> to go first. Can you? I presume that there exists a reason. Otherwise, the standard would hardly say what it says, but consider: <code>right()</code> will return some result. At the machine-code level, does the CPU not need to know where to put the result <code>right()</code> will return before asking <code>right()</code> to return it?</p>

<p>If you happen to know what the standard committee was thinking (because you were in the room or have read the memo), that's great: I'd like to read your answer. However, my actual question is more modest. All I want to know is whether there exists a plausible reason and what that reason might be.</p>
