ou não é válido C ++: por que esse código compila?
Aqui está uma aplicação C ++ muito simples que fiz com o QtCreator:
int main(int argc, char *argv[])
{
int a = 1;
int b = 2;
if (a < 1 or b > 3)
{
return 1;
}
return 0;
}
Para mim, isso não é válido C ++, como a palavra-chaveou não é uma palavra reservada.
Mas se eu compilar e executar, funciona bem sem nenhum aviso! O código de saída é 0 e se eu mudar b = 4, o código de saída é 1!
Eu não estou incluindo nada para ter certeza de que não há definição oculta.
Isso é muito estranho para mim. Isso é algo que o Qt está definindo? Eu não encontrei nada na documentação sobre isso.