while(std :: cin>>值)如何工作?
问题描述:
在C ++ Primer中给出的示例中,
In an example given in C++ Primer,
#include <iostream>
using namespace std;
int main() {
int sum = 0, value = 0;
while (std::cin >> value) {
sum += value; // equivalent to sum = sum + value
}
std::cout << "Sum is: " << sum << std::endl;
return 0;
}
(std :: cin >>值)如何返回true?什么是文件结尾"?看来我必须理解该术语才能理解我的主要问题.
How does (std::cin >> value) return true? And what is an "End Of File"? It seems that I must understand that term in order to understand my primary question.
谢谢!
答
已重载的 operator>>
函数返回对该流本身的引用,并且该流具有 an重载的运算符,该运算符可以在布尔条件下使用它,以查看上一个操作是否正常.部分可以或不可以"包括到达文件末尾或其他错误.
The overloaded operator>>
function returns a reference to the stream itself, and the stream have an overloaded operator that allows it to be used in a boolean condition to see if the last operation went okay or not. Part of the "okay or not" includes end of file reached, or other errors.