C++ を使い始めたばかりの CS 学生で、cin と getline() がデータを読み込む方法を理解するのに苦労しています。
string str_1 = "";
cin >> str_1; // User enters "John(Enter)"
私の理解では、cin >> は入力バッファでデータを検索し、何も見つからない場合はユーザーにプロンプトを表示します。次に、"John" を読み取り、バッファに改行 \n を残します。
その後 getline() が呼び出されると、\n が表示され、何も返されませんよね?
次に cin が呼び出された場合、期待どおりに動作しますが、なぜ cin は行がバッファーに戻って終了するのを認識しないのですか?