c 中指標與引用的分析

2021-09-24 07:06:33 字數 848 閱讀 8716

language:c++

引用:跟原來的變數實質上是同乙個東西,只不過是原變數的乙個別名。引用改變,原變數的值也發生改變。

以下函式

void

swap

(int a, int b)

void

swap1

(int *a, int *b)

void

swap2

(int &a, int &b)

複製**

呼叫方法:

int a = 1, b = 2;

swap(a, b); //無效

swap1(*a, *b); //有效

swap2(a, b); //有效

複製**

指標指向一塊記憶體,它的內容是所指記憶體的位址;引用是某塊記憶體的別名。

指標是乙個實體,而引用僅是個別名;

引用使用時無需解引用(*),指標需要解引用;

引用只能在定義時被初始化一次,之後不可變;指標可變;

引用沒有 const,指標有 const,const 的指標不可變;

引用不能為空,指標可以為空;

「sizeof 引用」得到的是所指向的變數(物件)的大小,而「sizeof 指標」得到的是指標本身(所指向的變數或物件的位址)的大小; typeid(t) == typeid(t&) 恒為真,sizeof(t) == sizeof(t&) 恒為真, 但是當引用作為成員時,其占用空間與指標相同(沒找到標準的規定)。

指標和引用的自增(++)運算意義不一樣;

c 中 指標的指標 與 指標的引用

我的生活,我的點點滴滴!今天在看一些c 開源 時,無意間看到下面這段 突然發覺看起好陌生,完全不懂這樣用的意義是什麼呀?void director popscene const std function callback else auto callback scene scene director...

C 中 指標引用)與 (指標)的區別

指標傳遞引數本質上是值傳遞的方式,它所傳遞的是乙個位址值。值傳遞過程中,被調函式的形式引數作為被調函式的區域性變數處理,即在棧中開闢了記憶體空間以存放由主調函式放進來的實參的值,從而成為了實參的乙個副本。值傳遞的特點是被調函式對形式引數的任何操作都是作為區域性變數進行,不會影響主調函式的實參變數的值...

C 中指標 與指標引用 的區別

c 中 指標引用 與 指標 的區別 指標是乙個存放位址的變數,指標引用指的是這個存放位址的變數的引用。c 中如果引數不是引用的話,會呼叫引數物件的拷貝建構函式,所以如果有需求想改變指標所指的物件即想要改變指標變數裡存放的位址,就要使用指標引用。下面用乙個測試例子和過程圖結合進行說明 分析 在test...