You do not forget that the if clause can be written in one line. For example,
bool b = true; int x = 1; int *p = &x; if ( b ) * p += x;
If we remove the brackets, we get
bool b = true; int x = 1; int *p = &x; if b * p += x;
Which is completely unreadable.
The only thing you can put outside the brackets in the if clause is the constexpr keyword, which became possible with the advent of the C ++ standard 17.
You can find a simple example of using this syntax in my personal forum by clicking the New syntax of the if clause in the C ++ 17 standard and How to invert individual words in an object of the std :: string class
pythonyou have colons, and inluaandпаскальkeyword isthen. This is how the expression parser is implemented in order to accurately determine the position of the conditions and therefore the syntax requires a bracket. As a result, no contradictions and check easier. - Alex Krass