這一篇總結對比比較簡短,更多的是從結構上去剖析
這篇總結對比博主寫得特別好,但是還是比較散,還是推薦看
看完之後你是不是發現自己豁然開朗,看***的**應該會輕鬆許多,嘻嘻。
一、引用注意事項
//1、引用必須初始化
//2、引用在初始化後不可更改
二、引用做函式返回值
//格式:
//《型別》 & 函式名(引數) 如:int & test01()
//1、不要返回區域性變數的引用
//2、但是可以返回乙個對靜態變數的引用
//3、函式的呼叫可以作為左值
三、值傳遞&&位址傳遞&&引用傳遞
#include
using
namespace std;
//交換函式
//1、值傳遞
void
myswap01
(int a,
int b)
//2、位址傳遞
void
myswap02
(int
*a,int
*b)//3、引用傳遞
void
myswap03
(int
&a,int
&b)int
main()
四、引用本質(認真看!!!)
//引用的本質在c++內部實現是乙個指標常量
#include
using
namespace std;
//發現是引用,自動轉化為 int * const ref = &a
void
func
(int
&ref)
intmain()
執行「 ref = 20 」語句前的記憶體如下圖:
執行「 ref = 20 」語句後的記憶體如下圖:
結論:c++推薦使用引用,因為語法方便。引用實質是指標常量,只是轉化工作編譯器已經幫助我們完成。面試時可能會需要了解原因,但是實際用的時候別想太複雜,就想成乙個別名用即可
C語言引用型別和指標型別剖析
能用引用完成的都可以用指標完成.能用指標完成的不一定能用引用完成.引用正是遮蔽了指標 不安全 但卻 功能強大 的那部分.引用不能為空,所以在程式中的引用都是有值的,不必檢查該引用是否為空。而指標則可以為空。你可以定義乙個指向null的指標,這就是和引用的最大區別,所以在程式中使用指標之前必須檢查該指...
C 中的引用剖析
在c語言中,對於下面兩個實現交換變數值的函式,因為函式傳參傳的是函式值,swap1 是完成不了的,而swap2 可以。include void swap1 int a,int b void swap2 int pa,int pb intmain int argc,char ar 執行結果 初始時a ...
C 中的指標和引用
注意本人的部落格都遷移到本人自己搭建的部落格位址,通過此處可檢視。本人在工作之餘學習c 但是可能在訓練過程種,會通過各種刷題的形式去提公升自己,但是這樣在一些公司 尤其是大廠 面試的時候會很尷尬。而c 種的指標和引用有什麼區別和聯絡呢,現在就來說道說道,如有錯誤,敬請大家指正。首先我們來說道說道指標...