Servono per resettare il failbit e svuotare il buffer di lettura; quando dici a cin di acquisire un intero, se vede che non può considerare i caratteri inseriti un intero, li lascia nel buffer di input e imposta il failbit; se controllando il failbit (cin.fail()) vedi che è impostato, significa che l'utente non ha inserito un numero. In questo caso svuoti il buffer di input (cin.sync()), eliminando così i caratteri errati appena inseriti, e disattivi il failbit (cin.clear()).