c++基礎教程-引用

來源:互聯網
上載者:User

  引用和指標類似,都是直接對變數地址操作,區別是引用對象不能改變,引用要直觀好理解一些,本教程就具體為大家介紹一下引用。

  1、啟動 Geany

  1)點菜單“應用程式-編程-Geany”啟動 Geany ,建立一個 c++ 來源程式;

  2)點菜單“檔案-另存新檔”命令,以“refer”為檔案名稱,儲存檔案到自己的檔案夾;

  2、建立引用

  1)引用相當於變數的別名或另外的綽號,本身並不是變數,因此只有聲明沒有定義;

  輸入下面的代碼:

      int a = 25;

      int &ra = a;

      cout << "ra= " << ra; 

  2)第一句定義一個整型變數 a,變數在記憶體中有地址,可以用變數名 a 來訪問,

  第二句建立一個引用,類型是整型,與號 & 是定義符號,前面有類型的一定是聲明或定義,

  第三句是顯示 ra,跟指標類似,定義完了就可以直接用 ra 這個名稱;

  輸出 ra 實際上就是輸出 a,像是變數 a 又多了一個地址名;

  3)接下來我們來看二者之間相互對應關係,繼續輸入下面的代碼;    

      a = 16;

      cout << "ra= " << ra <<endl;

      ra = 20;

      cout << "a = " << a <<endl; 

  4)第一句改變變數 a 的值,ra 跟著也改變,

  第二句改變引用 ra 的值,a 也跟著變;

  #include <iostream>

  using namespace std;

  int main(int argc, char** argv)

  {

      int a = 25;

      int &ra = a;

      cout << "ra= " << ra;

      cout << endl << endl;

      a = 16;

      cout << "ra= " << ra <<endl;

      ra = 20;

      cout << "a = " << a <<endl;

      return 0;

  } 

  5)引用和指標用在函數中比較多,函數運行時要使用形參,形參是一個局部臨時變數,

  函數在結束時要返回運算結果,這個值也要先存放在一個局部臨時變數裡,

  使用引用和指標的地址特性,可以跳過局部變數,直接對傳過來的變數進行操作,提高速度,節省記憶體資源;

  6)建立一個c++程式,儲存檔案名稱為 swap,輸入下面的代碼;

  #include <iostream>

  using namespace std;

  void swap (int &rx, int &ry); //聲明一個函數,定義在主函數外面

  int main(int argc, char** argv) //主函數,調用 swap 函數

  {

      int a =25;

      int b= 16;

      cout << " a= " << a;

      cout << " b= " << b;

      cout << endl << endl;

      swap(a,b);  //調用函數,直接交換 a,b

      cout << " a= " << a;

      cout << " b= " << b;

      return 0;

  }

  void swap(int &rx, int &ry) //定義前面聲明的函數

  {

      int temp = rx;

      rx = ry;  //使用的時候直接使用引用名稱

      ry = temp;

  } 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.