или не является допустимым C ++: почему этот код компилируется?

Вот очень простое приложение на C ++, которое я сделал с помощью QtCreator:

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

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

Для меня это не действительный C ++, как ключевое словоили же не является зарезервированным ключевым словом.

Но если я скомпилирую и запустлю его, он будет работать без каких-либо предупреждений! Код выхода равен 0, и если я изменяю b = 4, код выхода равен 1! I '

не включая ничего, чтобы убедиться, что нет скрытого определения.

Это действительно странно для меня. Это то, что определяет Qt? Я не'ничего не могу найти в документации по этому поводу.

Ответы на вопрос(3)

Ваш ответ на вопрос