Any language expression consists of operands (variables, constants, etc.) connected with each other by operators. Operations are executed in a strict order. The value that determines a privilege to execute a certain operation is called precedence. The operation execution order can be regulated by use of parentheses.
Table 1. Operation precedence in C/C++.
You may often see errors in programs which are caused by the fact that it is easy for programmers to forget the exact priorities of operations (article on the topic). This is why professional developers do not feel embarrassed about using additional parentheses: this method secures them from accidental mistakes, and makes expressions more readable.
Note. The PVS-Studio analyzer provides several diagnostics such as V648. These diagnostics help detect errors related to operator precedence. Try to check your code.
0