程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++引用變量學習,引用變量學習

C++引用變量學習,引用變量學習

編輯:C++入門知識

C++引用變量學習,引用變量學習


(1)reference variable(rv) 主要用處是作為方程的形式參數,使用rv 可以直接對原數據進行操作而不是該數據的拷貝,節省了時間和空間,尤其是對於結構體以及類的一個對象來說,對於普通類型數據來說,傳值調用是不錯的選擇。

(2)使用 type & name 的形式定義一個引用變量,參考《c++ premier plus》上的例子,

int rats;

int & rodents = rats;   (int & means “reference to an int variable”)

定義了一個rodents,它是指向rat的引用變量,初始化以後,rats and rodents有相同的值,指向相同的地方,可以互換使用,通俗的說,就是“一個東西,兩種叫法”。

(3)rv必須在聲明的時候初始化,初始化以後,指向的地方不再變化,相當於const 類型的指針,後續的賦值只能改變其值,不能改變地址。譬如

int & rodents = rats;  相當於

int * const pr = &rats;

(4)當函數(function)的形參(formal argument)為指向const 類型的rv,編譯器會在以下兩種情況下產生臨時變量,

  • 當實參類型正確,但不是“左值(lvalue)”
  • 當實參類型不正確,但是可以轉換為正確類型
  • (5)C++ 11 標准引入了新的稱為“右值引用(rvalue reference)”的語法,因此原來的引用現在稱為“左值引用(lvalue reference)”

    (6)函數返回引用與返回值這兩種方式,有什麼區別?

    對於“返回值”這種返回方式,首先return語句後的對象,會被拷貝到一個臨時內存中,然後改臨時內存中的數據在被拷貝到調用函數的相應對象中,但是如果是“返回引用”,return語句後的對象直接拷貝到調用函數相應的對象中,更快。

    (7)const 類型的引用返回,有什麼用?

    使用const 類型的引用返回,可以避免對返回值進行修改

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved