foo(int &bar)
{
bar = 5;
}
這個函數的調用將初學者參考類型參數混亂
int foobar = 2;
foo(foobar);
我是正確的思想,函數參數本質上是「得」變量的內存地址,但不會再有將在foo中被解除引用,並且我會改變foobar的原始值?在此之前我的印象是,你將不得不在內存地址這樣的經過:
foo(&foobar);
,然後使用變量中富這樣的:
*bar = 5;
我是正確的思想,這是錯誤的?我認爲,就像許多初學者一樣,混淆來自於認爲引用就像一個指針,因爲它擁有一個內存地址,但它從來都不是一種類型?只是一個操作員。
'foo(&bar){}'不是一個合適的C++函數定義。 –
http://stackoverflow.com/questions/620604/difference-between-a-pointer-and-reference-parameter的精確重複? – mydogisbox
不完全是這樣,我對於傳遞指針和傳遞作爲參考之間的區別並不感到困惑,而是你如何使用「引用變量」這麼說。 – SirYakalot