區分 C 指標跟引用

2021-07-09 12:27:13 字數 1522 閱讀 3902

引用是c++中的概念, 初學者容易把引用和指標混淆一起.

int m;

int &n = m;

上面的程式**片段的說明:

1.nm的乙個引用(reference),m是被引用物(referent)

2.n既不是m的拷貝, 也不是指向m的指標, 其實n就是m它自己.

3.n相當於m的別名(綽號),對 n 進行的任何操作就是對 m 的操作

例如有人名叫王小毛, 他的綽號是"三毛".說"三毛"怎麼怎麼的,其實就是對王小毛說三道四

引用被建立的同時必須進行初始化動作(即,被賦予初始值)

比較:

不能null引用,引用必須與合法的儲存單元關聯

一旦引用被初始化,就不能改變引用的關係

是傳遞函式的引數和返回值.

* c++中,函式的引數返回值的傳遞方式有三種值傳遞,指標傳遞,引用傳遞

*引用傳遞的性質象指標傳遞, 而書寫方式象值傳遞. 實際上引用可以做的任何事情指標也都能夠做, 為什麼還要引用?

回答

1. 用適當的工具做恰如其分的工作.指標能夠毫無約束地操作記憶體中的任何東西, 儘管指標功能強大,但是非常危險. 就像有一把刀,它可以用來砍樹、裁紙、修指甲、理髮等等. 誰敢這樣用?

2. 如果的確只需要借用一下某個物件的別名, 那麼就用引用, 而不要用指標,以免發生意外. 比如說,某人需要乙份證明, 本來在檔案上蓋上公章的印子就行了, 如果把取公章的鑰匙交給他,那麼他就獲得了不該有的權利.

這是個容易讓人頭腦混亂的現象

指標的引用 其實跟 指標的指標類似,其用法總結為:

C 引用和指標區分

本部落格參照 more effective c scott meyers著,侯捷譯 引用和指標的不同一直困擾我很久,看了 more effective c 系統梳理了一下引用和指標的區別。1.引用必須有初始值,原則上不指向空 2.變數一旦和引用繫結,就會一直繫結這個變數,不能改變指向,操作引用等於操...

c 引用 指標

1.引用的作用 給變數起乙個別名,是c 對c的擴充。原名和別名有相同的位址,根本上就是同乙個東西,只是名字不一樣。c 的引用機制主要是為了用作函式引數,增強函式傳遞資料的能力,比如swap函式,引用就是為了直接修改實參。2.宣告方式 int a int b a 緊跟在資料型別後,即為引用宣告符,其他...

C 引用 指標

1.引用的概念及用法 引用 引用不是定義乙個新的變數,而是給乙個已經定義的變數重新起乙個別名。例如 int b a b是a的引用,即b是a的別名。引用的特點 a.乙個變數可取多個別名 b.引用必須初始化 int b 不知道b是誰的別名 c.引用只能在初始化的時候引用一次,不能改變為再引用其他的變數 ...