My programming teacher told me: "operator precedence is complicated, always use parenthesis if you have multiple operators in a single expression". I simply do that, and nobody complained so far :)
if (((2*x) + 3) == z)
instead of if (2*x + 3 == z)
If so, that’s pretty annoying.But another tool to work around this issue is to just give names to sub expressions by storing them into constants. Long expressions quickly get unreadable anyway.
[1] https://en.cppreference.com/w/cpp/language/operator_preceden...
But if it's really so onerous to read, you can always put a more ambiguous version in the comments!
Always code for someone to read your code later.
As the saying goes, "the fish rots from the head"...