在C ++中,以下是一种安全的做法:
int a;
int b;
while(stream >> a >> b) { // stream is std::cin or a stringstream
//do something with a and b
}
a和b是否保证使用while循环内的流初始化?
答案 0 :(得分:4)
是的,在这种情况下这是安全的[只要流和运营商的实施遵循标准所说的应该做的事情]
当然,如果您的类型不同于int
,请说mytype
,并为您的班级定义了自定义istream& operator >>(istream&, mytype&)
,则完全有可能出现错误在导致mytype
的部分/全部字段未初始化的代码中。