C++: Почему компилятор читает из istringstream даже после того, как он пуст?
Я изучал getline и istringstream и застрял в этом коде, выводящем "Hello World World", в то время как я ожидал просто "Hello World". Может кто-нибудь сказать мне, почему это печатает это и как это можно исправить? Заранее спасибо за помощь!
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
string a="Hello world",b;
istringstream x(a);
while(x!=nullptr)
{
cout<<x;
getline(x,b,' ');
cout << b<< " ";
}
return 0;
}