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

C++引用

編輯:C++入門知識

引用是別名而非指針,引用與指針的區別:

1、不存在空引用

2、所有的引用都要初始化

3、一個引用永遠指向用來對它初始化的那個對象

引用是一個現有對象的別名,用對象來初始化引用後,對象名字或引用的名字都可以用於指向該對象

 a= &ra=a;  
--ra;  
a=;  
 *ip=&ra;   

一些編譯器可以捕捉到那些明顯的創建空引用的嘗試:

有些卻無法偵測到不那麼明顯的空引用:
Employee *getAnEmployee();
//...

如果getAnEmployee返回的是一個空指針,那麼其後的代碼行為就是未定義的,最好使用一個指針來存放getEmployee返回的結果:

Employee *employee=(employee)

引用常常成為函數參數的優秀選擇:

template<typename T>
 swap(T &a, T &===
 x=,y=

引用所指向的對象可以沒有名字:

swap(grade[i],grade[j]);

考慮如下函數:

inline  set_2d( *a,  i,  j, *m+j]=a[i*m+j]*a[i*m+j]+a[i*m+

使用引用可以簡化和優化:

inline  set_2d( *a,  i,  j,  &r=a[i*m+=r*r+

一個指向非常量的引用是不可以用字面值或臨時值進行初始化的:

然而一個指向常量的引用就可以:

  &cd=;  
template<typename T> T &a,  T & a+
  &greeting=add((), ());  


 

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