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 中的基本語法成分,他們既有聯絡,又有不同之處...