while(stringstream>;>;var1>;>;var2)是安全的做法吗? 在C++中,下面是一个安全的实践: int a; int b; while(stream >> a >> b) { // stream is std::cin or a stringstream //do something with a and b }
a和b a是否保证使用while循环中的流中的值初始化?是的,在这种情况下这是安全的[只要流和运算符的实现遵循标准要求他们应该做的]while(stringstream>;>;var1>;>;var2)是安全的做法吗? 在C++中,下面是一个安全的实践: int a; int b; while(stream >> a >> b) { // stream is std::cin or a stringstream //do something with a and b },c++,initialization,istream,C++,Initialization,Istream,a和b a是否保证使用while循环中的流中的值初始化?是的,在这种情况下这是安全的[只要流和运算符的实现遵循标准要求他们应该做的] 当然,如果您有不同于int的类型,比如说mytype,并且为您的类定义了自定义的istream&operator>(istream&,mytype&),那么代码中完全可能有一个bug,导致mytype的部分/所有字段未初始化 是的,在这种情况下这是安全的[只要流和操作符的实现遵循标准要求他们应该做的] 当然,如果您有不同于int的类型,比如说mytype,并且为您
当然,如果您有不同于
int
的类型,比如说mytype
,并且为您的类定义了自定义的istream&operator>(istream&,mytype&)
,那么代码中完全可能有一个bug,导致mytype
的部分/所有字段未初始化 是的,在这种情况下这是安全的[只要流和操作符的实现遵循标准要求他们应该做的]
当然,如果您有不同于int
的类型,比如说mytype
,并且为您的类定义了自定义的istream&operator>(istream&,mytype&)
,那么代码中完全可能有一个bug,导致mytype
的部分/所有字段未初始化