在写C++ Primer时发现了cin的一个特性,即当cin在某一个读取的字符流,与所赋值对象不符(或者读取到了结束符)时,书中说返回值是False(-1),可以用于结束while循环的判断条件,但是除此之外还有个变化:
cin在此后都会失效!!
附上所写代码,具体在cin内部发生了什么暂时还不想去探究。
更新:cin.clear()用于重置所有cin的状态,即能够使cin再次生效。
# include<iostream>
# include<vector>
# include<string> //不用这个头文件,就不能cin>>string
using namespace std