
當將變數宣告為參考時,它將成為現有變數的替代名稱,通過在宣告中添加“&”,可以將變數宣告為參考,
C++:
輸出: x = 20 ref= 30
應用范圍:
修改函式中傳遞的引數:如果函式收到對變數的參考,則可以修改變數的值,例如,以下程式變數使用參考進行交換,
C++:
1.避免 復制大型結構:想象一個必須接收大型物件的函式,如果我們通過它而沒有參考,則會創建它的新副本,這會浪費CPU時間和記憶體,我們可以使用參考來避免這種情況,
C++:
2.在“對于每個回圈”中修改所有物件:我們可以在“對每個回圈”中使用參考來修改所有元素
C++:
3.對于每個回圈,避免 物件的復制:當物件較大時,我們可以在每個回圈中使用參考來避免單個物件的復制,
C++:
參考與指標:
參考和指標都可以用于更改另一個函式內部的一個函式的區域變數,當作為引數傳遞給函式或從函式回傳時,它們都還可以用于保存大物件的副本,以提高效率,盡管有上述相似之處,參考和指標之間還是存在以下差異,
1.可以將指標宣告為void,但是參考永遠不能為void,例如
整數a = 10;void * aa =&a;//有效無效
&ar = a; //無效
2.指標變數具有n級/多級間接尋址,即單指標,雙指標,三指標,而參考變數僅具有一個/單個間接級別,以下代碼揭示了上述要點:
參考的功能不如指標
1)創建參考后,以后就不能再參考其他物件了;它無法重新放置,這通常是通過指標完成的,
2)參考不能為NULL,指標通常被設定為NULL,以指示它們沒有指向任何有效的物件,
3)參考必須在宣告時進行初始化,指標沒有這種限制
由于上述限制,C ++中的參考不能用于實作鏈接串列,樹等資料結構,在Java中,參考沒有上述限制,可以用于實作所有資料結構,Java中參考更強大是Java不需要指標的主要原因,
更安全,更易于使用:
1)更安全:由于必須先初始化參考,所以不太可能存在諸如野指標之類的野參考,仍然有一些參考不能參考有效位置
2)易于使用:參考不需要解參考運算子即可訪問該值,它們可以像普通變數一樣使用,僅在宣告時才需要“&”運算子,同樣,可以使用點運算子(',')訪問物件參考的成員,這與需要箭頭運算子(->)訪問成員的指標不同,
結合上述原因,在諸如復制建構式引數之類的地方很少有不能使用指標的地方,必須使用參考在復制建構式中傳遞引數,同樣,必須使用參考來多載某些運算子,例如++,
希望對你有幫助!
另外如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~
C語言C++編程學習交流圈子,QQ群1090842465【點擊進入】微信公眾號:C語言編程學習基地
分享(原始碼、專案實戰視頻、專案筆記,基礎入門教程)
歡迎轉行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
編程學習書籍分享:

編程學習視頻分享:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/253794.html
標籤:C++
