and, or, not versus &&, ||, ! [closed]

2019-04-04 23:17发布

问题:

Yes, this is valid C++ :

if (false or (true and not false)) ...

Among others such as bitand and xor. In C, they used to be macros, but now they are keywords ! You can even overload them ! Then why would someone ever teach or write something like :

if (false || (true && !(false))) ...

Why is nobody using them ?

回答1:

Because they don't allow mixed C/C++ code without including additional header files, are less known to programmers, and it's not immediately clear whether and is the short-circuit or bitwise version.



回答2:

Why nobody? Some use them. Others think that symbols are more readable than words.



回答3:

Visual C++ does not support them.



回答4:

People just don't know about them(I didn't until now).