0
在C中,當我們想輸入一個整數例如,我們可以使用scanf()
。
將我們的輸入保存到的變量作爲指針傳遞,這對函數需要此變量的地址是有意義的,否則一旦函數返回,輸入值就會丟失。C++ cin >> x如何工作
如何(在C++中)cin>>x
,我明白是cin.operator>>(x)
工作,如果我沒有傳遞給它的地址?
在C中,當我們想輸入一個整數例如,我們可以使用scanf()
。
將我們的輸入保存到的變量作爲指針傳遞,這對函數需要此變量的地址是有意義的,否則一旦函數返回,輸入值就會丟失。C++ cin >> x如何工作
如何(在C++中)cin>>x
,我明白是cin.operator>>(x)
工作,如果我沒有傳遞給它的地址?
「我知道cin.operator >>(x)怎麼能工作,如果我不傳遞一個地址給它?」
這是因爲
std::istream& operator>>(std::istream& is, <type>& obj);
//^
函數的簽名需要基準參數爲obj
。
C++引用以某種方式將傳遞指針替換爲提供的參數,但也需要使用有效地址進行初始化。
這適用於任何基本類型以及標準庫的某些複雜類型(例如std::string
)。
C++有引用,它們基本上是指針,但沒有'&'語法。 – 2015-02-06 19:26:28
在您最喜歡的C++教科書中閱讀*參考*。 'operator >>()'方法通過* reference *接受參數。 – 2015-02-06 19:26:37
我還沒有學過參考資料,但現在我明白了,謝謝。 – 2015-02-06 19:28:48