Introducción a las transmisiones de C ++ IO

Tengo un fragmento de código deEste artículo y estoy confundido en cuanto a cómo funciona? El fragmento comienza diciendo:

Puede detectar que una operación particular de lectura o escritura falló al probar el resultado de la lectura. Por ejemplo, para verificar que el usuario lea un número entero válido, puede hacer esto:

int x;
if ( cin >> x ) 
{
    cout << "Please enter a valid number" << endl;
}

Esto funciona porque la operación de lectura devuelve una referencia a la secuencia.

Entiendo que la operación cin >> x devuelve una referencia a cin, pero todavía estoy confundido acerca de cómo evaluar la referencia al objeto de flujo de entrada estándar le permite verificar que la entrada sea un número entero válido.

Respuestas a la pregunta(2)

Su respuesta a la pregunta