Message from C, C++ discussions
As far as I understand, its not guaranteed here that
a=b will be calculated first (at least before C++17). So this expression not guaranteed to work the same on all the compilers.
In this case we can parse the expression as a tree (picture below), it's evaluated from top to bottom. We can't evaluate minus before we evaluate both
a=b, but as far as I know the order of these two can be any.