对ignore行的其余部分非常重要因为operator>>將不再从流中提取任何数据,因为它的格式错误所以,如果你删除
ignore
operator>>
您的循环将永远不会结束因为输入未从标准输入中清除。
<limits>
您需要使用std::getline和std::string阅读整行。这是完全验证整行是否具有正确数据类型的方法:
std::getline
std::string
此示例是自解释的但是使用此方法,您无法区分int和double数据类型
int
double