C++中何時使用引用


使用引用參數的原因:

  1. 程序員能夠修改調用函數中的數據對象
  2. 通過傳遞引用而不是整個數據對象,可以提高程序的運行速度。

當數據對象較大時(如結構和類對象),第二個原因最重要,這些也是使用指針參數的原因。這是有道理的,因為引用參數實際上是基於指針的代碼的另一個接口。

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

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

  1. 如果數據對象較小,如內置數據類型或者小型結構,則按值傳遞。
  2. 如果數據對象是數組,則使用指針,因為這是唯一的選擇,並將指針聲明為指向 const 的指針。
  3. 如果數據對象是較大的結構,則使用 const 指針或 const 引用,以提高運行效率。這樣可以節省復制結構所需的時間和空間。
  4. 如果數據對象是類對象,則使用 const 引用。類設計的語義常常要求使用引用,這是 C++ 增加引用特性的主要原因。因此,傳遞類對象參數的標准方式是按引用傳遞。

對於修改調用函數中數據的函數:####

  1. 如果數據對象是內置數據類型,則是用指針。如果看到諸如 fixit(&x) 這樣的代碼(其中 x 是 int 型),則很明顯,該函數將修改 x。
  2. 如果數據對象是數組,則只能使用指針。
  3. 如果數據對象是結構,則使用引用或指針。
  4. 如果數據對象是類對象,則使用引用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM