c 中引用和指標的區別

2021-06-22 16:20:40 字數 567 閱讀 7991

c++中引用和指標的區別:

1.引用沒有自身的記憶體空間,指標有

引用是已經存在的變數的別名,他所指向的記憶體即原來變數的記憶體。指標有自己的記憶體,在32位作業系統下,為4個位元組

也就是說,sizeof(引用)的值為引用所指變數記憶體空間大小,sizeof(指標)等於4

2.引用必須初始化,指標不用(也就是說引用必須有指向,指標可以為空)

這裡想到乙個c++面試題:指標是否可以宣告成員變數?引用呢?

答案是都可以。

那引用宣告的成員變數,怎麼初始化?

這裡涉及到兩個引用必須初始化:

第一: 引用必須有初始化值

第二: c++中成員變數,除非是static const ~,否則不能在宣告的時候賦值

所以,只能在初始化列表中初始化引用成員變數。

現在vs2013依據的c++11可以直接賦值了。

3.引用始終如一,指標可以改變指向

4.有const指標,但沒有const引用

5.指標有多級(比如二級指標),沒聽說過引用的引用

6.指標和引用++意義不一樣(這條感覺和第一條是乙個原理,有重複的感覺)

C 中引用和指標的區別

1 引用是直接引用,指標是間接引用 假如我們宣告並初始化變數a int a 1 那麼記憶體中就肯定有乙個地方的值變為了1,而且以名字a來引用。如果這時候我們在定義乙個引用int b a 那麼這塊記憶體區域就多了乙個名字b,我們引用名字b同樣是引用名字a。因為引用只是為某一記憶體空間取乙個別名,所以引...

C 中引用和指標的區別

下面用通俗易懂的話來概述一下 其次,引用不可以改變指向,對乙個物件 至死不渝 但是指標可以改變指向,而指向其它物件。說明 雖然引用不可以改變指向,但是可以改變初始化物件的內容。例如就 操作而言,對引用的操作直接反應到所指向的物件,而不是改變指向 而對指標的操作,會使指標指向下乙個物件,而不是改變所指...

C 中引用和指標的區別

當引用被建立時,它必須被初始化。而指標則可以在任何時候被初始化 一旦乙個引用被初始化為指向乙個物件,他就不能被改變為對另乙個物件的引用,而指標則可以在任何時候指向另乙個物件 不可能有null的引用,必須確保引用是和一塊合法的儲存單元關聯 指標和引用都是c 中的基本語法成分,他們既有聯絡,又有不同之處...