C/C++編程筆記:C++中,通過指針傳遞 Vs 通過引用傳遞


在C ++中,我們可以通過指針或引用將參數(shù)傳遞給函數(shù)。在這兩種情況下,我們得到的結(jié)果都是相同的。因此,以下問題是不可避免的;什么時候比另一種更好?我們?yōu)槭裁匆粋€使用另一個的原因是什么?
通過指針:

輸出:
交換之前a = 45 b = 35
通過指針交換后a = 35 b = 45
通過引用傳遞:

引用變量和指針變量的區(qū)別引用:
通常使用指針來實現(xiàn)。引用是相同的對象,只是名稱不同,引用必須引用一個對象。由于引用不能為NULL,因此使用起來更安全。
1、不能重新分配引用時可以重新分配指針,并且只能在初始化時分配。
2、指針可以直接分配為NULL,而引用則不能。
3、指針可以遍歷數(shù)組,我們可以使用++轉(zhuǎn)到指針所指向的下一項。
4、指針是保存內(nèi)存地址的變量。引用與其引用的項具有相同的內(nèi)存地址。
5、指向類/結(jié)構(gòu)的指針使用“->”(箭頭運算符)訪問其成員,而引用使用“?!保c運算符)
6、指針需要用*取消引用,以訪問其指向的內(nèi)存位置,而引用可以直接使用。

輸出(在不同的運行中可能會有所不同,因為我們在程序中打印地址)
參數(shù)傳遞中的用法:
每當我們不需要“重新設置”時,引用通常比指針更可取。
總體而言,請盡可能使用引用,而必須使用指針。但是,如果我們想編寫同時使用C和C ++編譯器進行編譯的C代碼,則必須限制使用指針。
每天學點小知識,希望對你有幫助~
另外如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~
微信公眾號:C語言編程學習基地
分享(源碼、項目實戰(zhàn)視頻、項目筆記,基礎入門教程)
歡迎轉(zhuǎn)行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
