和,或者,不是和&&,||,!

时间:2011-03-12 13:13:48

标签: c++ logic keyword

是的,这是有效的C ++:

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

Among others,例如bitandxor。在C中,他们曾经是宏,但现在他们are keywords!你甚至可以超载他们!那么为什么有人会教或写类似的东西:

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

为什么没人使用它们?

4 个答案:

答案 0 :(得分:6)

因为它们不允许混合的C / C ++代码而不包含额外的头文件,所以程序员不太了解,并且不能立即清楚and是短路还是按位版本。

答案 1 :(得分:2)

为什么没有人?有些人使用它们。其他人认为符号比文字更具可读性。

答案 2 :(得分:2)

Visual C ++不支持它们。

答案 3 :(得分:1)

人们只是不了解他们(直到现在我才知道)。