NO!!! quel pezzo di codice elimina cioè che è rimasto senza essere passato alle variabili.
pensa a questo pezzo di codice
int iteger;
cin >> integer;
se l'utente scrivesse in input: 2345lkhsabdgojaenrgfqe non verrebbe preso niente perche la conversione in int non sarebbe stata avvenuta, lo stato di cin sarebbe stao in fail e l'input non pulito. con quel codice tu pulisci l'input. con cin.clear() metti cin in buono stato di nuovo. Questo non è il tuo caso e cin non va in fail.