这里有点新的C++.有可能做以下事情吗?
int temp;
while(cin >> temp != -9999){//Do something with temp}
Run Code Online (Sandbox Code Playgroud)
我无法使用那些确切的代码,但我觉得这样的事情应该是可能的.
编辑 尝试以下内容:
while(cin.getline(temp) != -9999){//Do something with temp}
Run Code Online (Sandbox Code Playgroud)
依然没有.难道getline()只能用字符串的工作?
是的,它确实:
while (std::cin >> temp && temp != -9999)
Run Code Online (Sandbox Code Playgroud)
但是,C++中的运算符优先级很烦人,所以我会使用:
while (std::cin >> temp) {
if (temp == -9999)
break;
Run Code Online (Sandbox Code Playgroud)
理由是这std::cin是一个流.因此,从中读取会返回流,因此您可以执行以下操作:
std::cin >> temp >> temp2;
Run Code Online (Sandbox Code Playgroud)