while( cin >> no >> ma >> en ){
 students.push_back( Student(no, ma, en));
}

こういうコードよく見るけど(マ板からの引用)、
たとえば、noの入力が失敗した場合、
続く「cin >>ma >> en」(ただし、cinはfailになってる)は
問題ないの?
俺のg++では、どこで入力に失敗しても、
変な動作を引き起こさずにすんなりwhileを抜けてくれるんだけど、
それは標準で保証されてることなのかな?
誰か知ってたら教えて。