C 中的引用

2021-05-12 14:55:20 字數 511 閱讀 4286

c++中的引用:

1. 引用作為返回值:

c++中沒有高效率的物件返回,所以返回值一定不要是乙個直接的物件,除非是 return new a();,這種模式好象在vc++中專門做過優化的.

當返回乙個變數時,會產生拷貝。當返回乙個引用時,不會發生拷貝,你可以將引用看作是乙個變數的別名,就是其他的名字,引用和被引用的變數其實是乙個東西,只是有了兩個名字而已。

問題的關鍵是,當你想要返回乙個引用而不是乙個拷貝時,你要確保這個引用的有效性,比如:

int & fun()

這樣是不行的,因為a會在fun退出時被銷毀,這時返回的a的引用是無效的。

這種情況下,如果fun的返回型別不是int & 而是int就沒有問題了。

因此,要返回乙個引用時,「臨時變數」不能是「臨時」的,至少得等函式外部使用完畢這個引用之後,才能銷毀它。

a a()會呼叫拷貝建構函式和析構函式.

a& a()不會呼叫拷貝建構函式和析構函式.

C 中的引用

最近重新看c 看到些以前沒注意的dd,溫故而知新,暫且記下。引用是能自動間接引用的一種指標,即不必使用間接引用運算子 就可以得到乙個引用值。引用可以為變數起別名,它主要用作函式引數以及函式的返回型別。1 引用的定義 如 int i int j i j是i的引用。1 定義引用時,必須立即對它進行初始化...

C 中的引用

例1 int a int ra a 定義引用ra,它是變數a的引用,即別名 說明 1 在此不是求位址運算,而是起標識作用。2 型別識別符號是指目標變數的型別。3 宣告引用時,必須同時對其進行初始化。4 引用宣告完畢後,相當於目標變數名有兩個名稱,即該目標原名稱和引用名,且不能再把該引用名作為其他變數...

C 中的引用

引用是c 引入的新語言特性,是c 常用的乙個重要內容之一,正確 靈活地使用引用,可以使程式簡潔 高效。我在工作中發現,許多人使用它僅僅是想當然,在某些微妙的場合,很容易出錯,究其原由,大多因為沒有搞清本源。故在本篇中我將對引用進行詳細討論,希望對大家更好地理解和使用引用起到拋磚引玉的作用。一 引用簡...