C 指標和引用的區別

2021-07-27 22:49:49 字數 530 閱讀 6559

一、前言

作為一名c++程式設計師,關於指標和引用必須要有足夠的認識。

最近在閱讀《**大全2》,感覺學習了很多,其中第13章,談論了這個部分。

二、指標和引用的區別

在c++中,指標(*)和引用(&)都能夠間接地引用物件。

對新手來說,看起來只是obj->field 和 obj.field 的區別。

他們的區別在於:

1.引用必須總是引用乙個物件,而指標可以指向空值。

2.引用指向的物件在該引用初始化之後,不能改變。

三、使用技巧:

1.把指標用於「按引用傳遞」引數,即如果你想把引數設為引用,又可以修改物件,

不如乾脆設為指標。

2.把const 引用用於「按值傳遞」引數。

這種方法還有額外的好處:

在可以修改的物件裡,成員引用使用obj->member

而對不能修改的物件,成員引用使用obj.member

把值從子程式中傳回去,需要加上星號(*)

void foo(int *parameter)

C 引用和指標區別

一 引用簡介 引用就是某一變數 目標 的乙個別名,對引用的操作與對變數直接操作完全一樣。引用的宣告方法 型別識別符號 引用名 目標變數名 例1 int a int ra a 定義引用ra,它是變數a的引用,即別名 說明 1 在此不是求位址運算,而是起標識作用。2 型別識別符號是指目標變數的型別。3 ...

C 引用和指標的區別

很久沒寫過這類文章了,本來是想做下筆記,既然要做筆記,不如寫下部落格,就動起手來。文采不怎麼樣,還忘大家見諒 c 引用變數是c 中新增的一種復合型別,也就是說標準c語言中沒有引用變數。所謂引用,實際上就是乙個已定義變數的別名,別名我想大家小時候都有,應該可以理解,別名表示的是同乙個人,這裡引用變數和...

C 引用和指標的區別

c 引用和指標在間接使用其他物件的各種操作功能上面類似,但是兩者的不同之處也很明顯 1.指標本身佔據記憶體空間,但是引用只是乙個物件的別名,本身不分配記憶體空間 2.指標定義時可以不初始化,但是定義乙個引用必須進行初始化,並且初始化時只能是乙個物件 比如 int b 3.14 這樣是錯的,要明白 引...