+
здесь унарный +
оператор , а не двоичный оператор сложения . Здесь не происходит никаких дополнений.
Также для типов приведен синтаксис (int)
.
Вы можете перечитать это утверждение как
(int) (+ 4) * 5;
который анализируется как
((int) (+ 4)) * (5);
, который говорит,
- Применить унарный оператор
+
к целочисленной константе 4
.
- Typecast для
int
- умножить с операндом
5
Это похоже на (int) (- 4) * (5);
, где использование унарного оператора более привычно.
В вашем случае унарный +
и приведение к int
- оба избыточны.