何時使用引用引數

2021-06-18 02:35:23 字數 764 閱讀 2912

節選自己c++ primer plus 5

使用引用引數的主要原因有兩個:

1.程式設計師能夠修改呼叫函式中的資料物件

2.通過傳遞引用而不是整個資料物件,可以提高程式的執行速度

當資料物件較大時(結構和類物件),第二個原因最重要。這些也是使用指標引數的原因。這是有道理的,因為引用引數實際上是基於指標的**的咖乙個介面。那麼,什麼時候應使用引用,什麼時候應使用指標呢?什麼時候又應按值傳遞呢?下面是一些指導原則:

對於使用傳遞的值而不作修改的函式:

1.如果資料物件很小,如內建資料型別或小型結構,則按值傳遞

2.如果資料物件是陣列,則使用指標,因為這是唯一的選擇,並將指標宣告為指向const的指標。

3.如果資料物件是較大的結構,則使用const指標或const引用,以提高程式的效率。這樣可以節省複製結構的時間和空間。

4.如果資料物件 是類物件,則使用const引用。類設計的語義常常要求使用引用,這是c++新增這項特性的主要原因。因此,傳遞類物件引數的標準方式 是引用傳遞。對於修改呼叫函式中資料的函式。

5.如果資料物件是內建資料型別,則使用指標。如果看到諸如fixit(&x)這樣的**(其中x是int型),則很明顯,該函式將修改x.

6.如果資料物件是陣列,則只能使用指標。

7.如果資料物件是結構,則使用引用或指標。

8.如果資料物件是類物件,則使用引用。

當然,這只是一些指導原則,很可能有充分的理由做出其他的選擇。例如,對於基本型別,cin使用引用,因此可以使用cin>>n,而不是cin>>&n。

何時使用指標引數 引用引數 按值傳遞?

1 什麼是引用?如何使用引用?為什麼要使用引用?1 什麼是引用?引用變數是一種偽裝指標,它允許為變數建立別名 另乙個名稱 在初始化乙個引用變數時,必須對其進行初始化。2 何時使用引用?引用變數主要被用作處理結構和類物件的函式的引數。3 為什麼要使用引用?4 返回引用時的注意事項 2 什麼時候應使用引...

何時使用引用和指標

但是,請等一下 你懷疑地問,這樣的 會產生什麼樣的後果?char pc 0 設定指標為空值 char rc pc 讓引用指向空值這是非常有害的,毫無疑問。結果將是不確定的 編譯器能產生一些輸出,導致任何事情都有可能發生 因為引用肯定會指向乙個物件,引用應被初始化。string rs 錯誤,引用必須被...

C 何時使用引用引數(一些指導原則)

使用引用引數的原因 1.程式設計師能夠修改呼叫函式中的資料物件 2.通過傳遞引用而不是整個資料物件,可以提高程式的執行速度。當資料物件較大時 如結構和類物件 第二個原因最重要,這些也是使用指標引數的原因。這是有道理的,因為引用引數實際上是基於指標的 的另乙個介面。那麼什麼時候使用引用 什麼時候使用指...