Duplicar posibles:
or is not valid C++ : why does this code compile ?"y"/"o" en lugar de "&&"/"||" en código C++ - ¿característica del compilador o error del programador?
Hola.
que he encontrado recientemente inusual código C++ escrito por otra persona:
bool operator != (Point p1, Point p2)
{
return p1.X != p2.X or p1.Y != p2.Y or p1.Z != p2.Z;
};
por lo que yo puedo decir, or
no se ha declarado en cualquier lugar, incluso como macros. También hay pocos and
s en el código. Como resultado, el proyecto no se basa en VC2008 Express. La persona que me dio el código dijo que el autor ha estado usando el compilador mingw.
La pregunta: ¿es esta una característica del compilador no estándar (lo dudo), es parte de un nuevo estándar de C++ (no he estado viendo C++ 0x) o es un problema del programador (por ejemplo si el tipo se mudó de pascal, podría haber estado usando y/o en lugar de &&
/||
por hábito, o porque cree que es más "legible").
También prefiero este estilo, especialmente para 'no' que es mucho más legible que'! '. –
El problema es que es tan raro ver esto, que cuando aparece cualquier programador inexperto va WTF y publica una pregunta en stackoverflow. Por lo tanto, en mi opinión, es una mala idea utilizar estos constructos porque hacen que el código sea más difícil de mantener (ya que realmente se debe buscar lo que significan). –
@Martin ¿Preferirías que la gente usara dígrafos en su lugar? Estos nombres están destinados a personas que no tienen los símbolos necesarios en los teclados, o al menos esa fue la intención original. –