++a; a+=1; a=a+1;
What designations should we use? What for?
We prefer the first version of ++ a because it more directly expresses the idea of magnification. It says what we want to do (increment a), and not how to do it.  (add 1 to a, and then write the result on a).
In general, a way to say something in a program is better than another if it expresses the idea more directly.
The result is more understandable and understandable to the reader. If we wrote a = a + 1, the reader could easily wonder if we should really increase by 1.
Perhaps we just masked a = b + 1 , a = a + 2, or even a = a-1 .
C ++ a is much less likely to have such doubts.
Note. This is a logical argument about readability and correctness, not an argument about efficiency. Contrary to popular belief. Modern compilers, as a rule, generate exactly the same code from a = a + 1 , as for ++ a , when one of the built-in types.
source share