Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How does while (std::cin >> value) work?

Tags:

c++

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; 

}

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.

Thanks!

like image 368
Superex Avatar asked Nov 12 '15 15:11

Superex


1 Answers

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.

like image 81
Some programmer dude Avatar answered Oct 17 '22 10:10

Some programmer dude