cin作为while循环中的条件?

时间:2013-04-15 03:57:22

标签: c++ cin

这里有点新的C ++。是否有可能做以下事情?

int temp;
while(cin >> temp != -9999){//Do something with temp}

我无法使用那些确切的代码,但我觉得这样的事情应该是可能的。

修改 尝试了以下内容:

while(cin.getline(temp) != -9999){//Do something with temp}

仍然没有。 getline()仅适用于字符串吗?

1 个答案:

答案 0 :(得分:6)

是的,确实如此:

while (std::cin >> temp && temp != -9999)

但是,C ++中的运算符优先级很烦人,所以我会使用:

while (std::cin >> temp) {
    if (temp == -9999)
        break;

原因是std::cin是一个流。因此,从中读取会返回流,以便您可以执行以下操作:

std::cin >> temp >> temp2;