¿Por qué los objetos iostream no sobrecargan al operador bool?
Enesta respuesta Hablo de usar unstd::ifstream
la conversión del objeto abool
para probar si la corriente todavía está en buen estado. Busqué más información en el libro de Josuttis (pág. 600 si está interesado), y resulta que eliostream
objetos en realidad sobrecargaoperator void*
. Devuelve un puntero nulo cuando el flujo es malo (que se puede convertir implícitamente afalse
), y un puntero que no sea nulo de lo contrario (convertido implícitamente atrue
). ¿Por qué no se sobrecargan?operator bool
?