これらの2つの関数istream::get(char *、streamsize)とistream :: get(char *、streamsize、char)が、cinバッファーの最初の文字として「\ n」を見つけたときにcin.failビットを設定するのはなぜですか?
ここに見られるように、それは上記の2つのオーバーロードの動作です。これらの関数をこのように設計する目的は何でしたか?どちらの関数もバッファに文字'\n'を残しますが、いずれかを2回呼び出すと、リンクに示されているように、改行文字が原因で失敗することに注意してください。関数istream::get()およびistream :: getline()のオーバーロードのように、これら2つの関数をバッファーに文字'\ n'を残さないようにする方が理にかなっていますか?