Вопросы к Поиску с Алисой
Преобразования между типами bool и int в C++ допустимы из-за совместимости этих типов по присваиванию в обе стороны. foxford.ru
При преобразовании из bool в int значение true переходит в 1, а false — в 0. foxford.ru stackoverflow.com При обратном преобразовании любое число, не равное нулю, переходит в true, а 0 — в false. foxford.ru
Кроме того, если использовать bool в арифметическом выражении, то оно будет переведено в int: bool + bool = int. foxford.ru
Важно учитывать, что приведение типов допустимо далеко не во всех ситуациях, и преобразование считается безопасным, если оно не может потенциально привести к потере данных. dj1vs.github.io