getline (cin, aString) получает вход без другого ввода

Мой код выглядит так,

string aString;
cin >> aString;
cout << "This is what cin gets:" << aString << endl;
getline(cin, aString);
cout << "This is what getline(cin, <string>) gets:" << aString << endl;

Каждый раз, когда я запускаю его, я даю входные данные, такие как «12», я получаю «12» и «».

Мне интересно, почему getline получил бы без ввода пользователя.

Я могу понять, когда я ввожу что-то вроде «12 24», cin получит «12», а getline должен получить остальное. (Также, если можно было бы ответить, пробел между ними рассматривается как конец для cin, так почему он передается в getline?)

Просто начните со строки на C ++, поэтому, пожалуйста, не делайте это слишком сложно. Спасибо вам.

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

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