使用引用參數的主要原因:
1)程序員能夠修改調用函數中的數據對象。
2)通過傳遞引用而不是整個數據對象,可以提高程序的運行速度。
當數據對象較大時(如結構和類對象),第二個原因最重要。這些也是使用指針參數的原因。因為引用參數實際上是基于指針的代碼的另一個接口。
使用引用參數的指導原則:
對于使用傳遞的值而不做修改的函數:
1)如果數據對象很小,如內置數據類型或小型結構,則按值傳遞。
2)如果數據對象是數組,則使用指針,因為這是唯一的選擇,并將指針聲明為指向const的指針。
3)如果數據對象是較大的結構,則使用const引用或const指針,以提高程序效率。這樣可以節省復制結構所需的時間和空間。
4)如果數據對象是類對象,則使用const引用。類設計的語義常常要求使用引用,這是C++新增這項特性的主要原因。因此,傳遞類對象參數的標準方式是按引用傳遞。
對于修改調用函數中數據的函數:
1)如果數據對象是內置數據類型,則使用指針。如果看到諸如 fixit(&x) 這樣的代碼(其中x是int),則很明顯,該函數將修改X。
2)如果數據對象是數組,則只能使用指針。
3)如果數據對象是結構,則使用引用或指針。
4)如果數據對象是類對象,則使用引用。
當然,這只是一些指導原則,很可能有充分的理由做出其他的選擇。
何時使用引用參數
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
推薦閱讀更多精彩內容
- 文/此木成柴 近兩年來,語言脫口秀類節目大火,其中有兩檔節目尤為突出,那就是《奇葩說》和《吐槽大會》。 《奇葩說》...