lub jest niepoprawny C ++: dlaczego ten kod się kompiluje?

Oto bardzo prosta aplikacja C ++, którą stworzyłem z QtCreator:

int main(int argc, char *argv[])
{
    int a = 1;
    int b = 2;

    if (a < 1 or b > 3)
    {
       return 1;
    }
    return 0;
}

Dla mnie to nie jest poprawne C ++, jako słowo kluczowelub nie jest zastrzeżonym słowem kluczowym.

Ale jeśli go skompiluję i uruchomię, działa bez żadnych ostrzeżeń! Kodem wyjścia jest 0, a jeśli zmienię b = 4, kod wyjścia to 1!

Nie uwzględniam niczego, aby upewnić się, że nie ma ukrytego określenia.

To jest dla mnie naprawdę dziwne. Czy to jest coś, co określa Qt? Nie znalazłem niczego w dokumentacji dotyczącej tego.

questionAnswers(3)

yourAnswerToTheQuestion