Почему бы iostream не перегружать объекты оператором bool?
Вэтот ответ Я говорю об использованииstd::ifstream
объект»с преобразованием вbool
проверить, находится ли поток в хорошем состоянии. Я посмотрел в книге Josuttis для получения дополнительной информации (стр. 600, если вызаинтересованы), и оказывается, чтоiostream
объекты на самом деле перегруженыoperator void*
, Он возвращает нулевой указатель, когда поток плохой (который может быть неявно преобразован вfalse
) и ненулевой указатель в противном случае (неявно преобразуется вtrue
). Почему Дон'они просто перегружаются?operator bool