Sí, esto es válido C++:y, o, no contra &&, ||,!
if (false or (true and not false)) ...
Among others como bitand
y xor
. En C, solían ser macros, pero ahora ellos are keywords! ¡Incluso puedes sobrecargarlos! Entonces, ¿por qué alguien alguna vez enseñar o escribir algo como:
if (false || (true && !(false))) ...
¿Por qué nadie usarlos?
"En C, solían ser macros" No, nunca fueron macros "en C", aunque algunos programas C individuales pueden haber definido tales macros. Adn, esta no es una pregunta real, es obstinada y controvertida: consulta las preguntas frecuentes. –
posible duplicado de [¿Alguien usa los operadores booleanos nombrados?] (Http://stackoverflow.com/questions/1103313/is-anybody-using-the-named-boolean-operators) [¿Qué operadores lógicos de C++ usas? y, o, no, y los operadores de estilo ilk o C? ¿por qué?] (http://stackoverflow.com/questions/1103313/is-anybody-using-the-named-boolean-operators); ver también [¿tokens alternativos C++?] (http://stackoverflow.com/questions/555505/c-alternative-tokens) [¿Es posible desactivar el soporte para "y"/"o" boolean operator use in gcc?] (http://stackoverflow.com/questions/1069352) –
@Jim Balter: Pero en C, _are_ macros, definidas en 'iso646.h'. –