[問題] cin.get(ch),ch=cin.get(),還有一部份cin問題

看板C_and_CPP (C/C++)作者 (小傑)時間16年前 (2009/07/07 20:49), 編輯推噓0(0012)
留言12則, 2人參與, 最新討論串1/1
可以仔細解釋一下 1.cin.get(ch),ch=cin.get的差別嗎? 2.basic_istream& get (basic_streambuf<char_type,traits>& sb); basic_istream& get (basic_streambuf<char_type,traits>& sb, char_type delim ); 上述的式子是什麼意思? 其中streambuf,traits...是什麼? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.14.246

07/07 22:01, , 1F
ch=cin.get()會直接把抓到的直寫到ch裡
07/07 22:01, 1F

07/07 22:02, , 2F
cin.get(ch)就函數的觀念,ch傳reference才會改變ch的
07/07 22:02, 2F

07/07 22:03, , 3F
值。 而在我們已經定義的iostream裡面get()
07/07 22:03, 3F

07/07 22:03, , 4F
是定義成reference 因此效果應該一樣
07/07 22:03, 4F

07/07 22:04, , 5F
第二個問題我也等高手解答XD
07/07 22:04, 5F

07/07 22:54, , 6F
小弟是初學者 不太清楚什麼是reference?
07/07 22:54, 6F

07/07 23:11, , 7F
依照這個例子簡單來說,就是傳進去函數的值
07/07 23:11, 7F

07/07 23:11, , 8F
不會因為function call而再複製一次,而會直接讀到現有
07/07 23:11, 8F

07/07 23:12, , 9F
的ch,而且是同一個位置的ch變數
07/07 23:12, 9F

07/07 23:12, , 10F
建議你可以先翻一下refernce的資料,這個型態在C++算
07/07 23:12, 10F

07/07 23:12, , 11F
常見且重要喔~~
07/07 23:12, 11F

07/08 11:03, , 12F
謝謝~~
07/08 11:03, 12F
文章代碼(AID): #1AKqHPX9 (C_and_CPP)
文章代碼(AID): #1AKqHPX9 (C_and_CPP)