Яков Е: вопрос был про C++, а не C. Тот же стандарт C++ четко говорит что sizeof(bool) - implementation defined, и делать заявления "под капотом это одно и то же" слишком смело
Михаил Миронов: Давайте по тексту моего ответа, вы не согласны с утверждением, что функции возвращающие int могут заменить функции возвращающие bool? Что при сравнении оно будет приводиться к числу? Чем это может так запутать человека, что он допустит ошибку?
Яков Е: Ну вот вам пример. Допустим вы просматриваете чужую библиотеку, реализация функций вам не известна. Вы сможете однозначно сказать что делает функция с сигнатурой int is_item_avaliable()? Логично предполагаем что в случае отсутствия товара возвращает 0. А если товар доступен, функция вернет 1 или вернет количество товара? Зачем использовать int когда в C++ есть встроенный тип данных bool?