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

2021-09-29 20:48:26 字數 646 閱讀 4619

使用引用引數的原因:

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

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

當資料物件較大時(如結構和類物件),第二個原因最重要,這些也是使用指標引數的原因。這是有道理的,因為引用引數實際上是基於指標的**的另乙個介面。

那麼什麼時候使用引用、什麼時候使用指標?什麼時候又應該按值傳遞呢?下面是一些指導原則:

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

如果資料物件較小,如內建資料型別或者小型結構,則按值傳遞。

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

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

如果資料物件是類物件,則使用const引用。類設計的語義常常要求使用引用,這是c++增加引用特性的主要原因。因此,傳遞類物件引數的標準方式是按引用傳遞。

對於修改呼叫函式中資料的函式:

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

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

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

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

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

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

c 函式傳參的一些指導原則

資料摘自 c primer plus 函式傳參,什麼時候應使用引用 什麼時候應使用指標呢?什麼時候應按值傳遞呢?1.對於使用傳遞的值而不作修改的函式 如果資料物件很小,如內建資料型別或小型結構,則按值傳遞。如果資料物件是陣列,則使用指標,因為這是唯一的選擇,並將指標宣告為指向const的指標。如果資...

C 程式設計的一些原則

1.不能在容器中使用auto ptr,要用boost的share ptr。具體原因可以查auto ptr的特性。2.別用vector。3.如果將派生類直接賦值給基類,派生類獨有的資訊將丟失。因此這種情況,最好用指標,將派生類的指標賦值給基類的指標變數。4.生成std map的時候,鍵值可以是任何類,...