В чем разница между while (cin) и while (cin >> num)

Какая разница между следующими двумя циклами и когда каждый из них будет остановлен?

#include
#include
#include
using namespace std;
int main() {
    int x,y;
    while(cin >> x){
        // code
    }
    while(cin){
        cin >> y;
        //code
    }
    return 0;
}

Ответы на вопрос(4)

Ваш ответ на вопрос