Я думал о некоторых ошибках новичка, и я закончил тем, что на утверждении if. Я немного расширил код до этого:
int i = 0;
if (i = 1 && i == 0) {
std::cout << i;
}
Я видел, что оператор if возвращает true, и он cout i как 1. Если i присваивается 1 в операторе if, почему i == 0 вернул true?