指標和引用都是位址的概念,指標指向一塊記憶體,內部儲存指向記憶體的位址;引用相當於一塊記憶體物件的別名,對引用的所有操作等同於對這個物件的操作。
指標和引用都可以優化傳參效率,不用採用值傳遞,進行大量資料的拷貝。
待議:指標和引用實際都占用記憶體,引用內部是用常指標實現的,因此占用空間和指標大小一樣。但是 &引用 返回繫結物件的位址。
指標可以不初始化,引用必須要初始化。
指標可以為空,引用不能為空,必須有乙個繫結的物件。
指標可以被重複賦值,指向不同的記憶體,引用在初始化之後就不能再改變。
指標可以有多級指向,引用不可以。
sizeof(指標)得到指標本身記憶體的大小,sizeof(引用)得到的是引用繫結的物件的大小。
指標和引用的自增++等操作,意義不一樣。
引用相對於指標更安全,不存在空引用,且引用一旦被初始化,就不能被改變指向另乙個物件;存在空指標,且指標不是必須要初始化,還有可能被改變,因此引用更安全。
1 指標和引用的區別
1 什麼是指標?2 什麼是引用?引用 引用是乙個物件的別名,主要用於函式引數和返回值型別,符號x 表示x型別的引用。1 引用不可以為空,但指標可以為空。引用是物件的別名,引用為空 物件都不存在,怎麼可能有別名!所以定義乙個引用的時候,必須初始化。宣告指標是可以不指向任何物件,因此,使用指標之前必須做...
1 指標和引用的區別
性質上的區別 使用上的區別 引用必須要初始化且不能是null,而指標可以是null。且指標的值可以改變,引用不能改變 更像是const,常量指標的概念 有const指標,但沒有const引用 指標可以有多級 p 引用只有一級 sizeof引用 得到的是所指向的變數 物件 的大小,而 sizeof指標...
一 指標就是位址
首先明確乙個觀點 指標就是位址。這是理解指標的起始一步。直觀感受下,變數的位址 幾點說明 p中的p是pointer 指標 的意思,專門用於列印指標變數中的內容。有時看到用 x列印指標的,雖然結果一樣,但含義完全不同。p 用合適的方式 一般是十六進製制 輸出指標變數中存放的另乙個變數的位址 x 用十六...