是的,这是有效的C ++:
if (false or (true and not false)) ...
Among others,例如bitand
和xor
。在C中,他们曾经是宏,但现在他们are keywords!你甚至可以超载他们!那么为什么有人会教或写类似的东西:
if (false || (true && !(false))) ...
为什么没人使用它们?
答案 0 :(得分:6)
因为它们不允许混合的C / C ++代码而不包含额外的头文件,所以程序员不太了解,并且不能立即清楚and
是短路还是按位版本。
答案 1 :(得分:2)
为什么没有人?有些人使用它们。其他人认为符号比文字更具可读性。
答案 2 :(得分:2)
Visual C ++不支持它们。
答案 3 :(得分:1)
人们只是不了解他们(直到现在我才知道)。