初识C++之指针与引用
1、What
a. 指針:
指針可以看做是一個(gè)特殊的變量,它是用來存放變量的地址值的。
b. 引用
引用的話,可以看做是給變量起的一個(gè)別名,而不是定義一個(gè)新變量,它與那個(gè)變量的本質(zhì)是相同的,內(nèi)容與地址都是一樣的。
2、Distinction
a. 引用使用時(shí)無需解引用(*),指針需要解引用;
b. 引用沒有 const,指針有 const;
c. 指針是一個(gè)實(shí)體,而引用僅是個(gè)別名;
d. 從內(nèi)存分配上看:程序?yàn)橹羔樧兞糠峙鋬?nèi)存區(qū)域,而引用不需要分配內(nèi)存區(qū)域,因?yàn)橹羔樖且粋€(gè)新的變量,而引用僅僅是一個(gè)別名而;
e. 引用在定義時(shí)必須初始化,指針沒有要求;
f. 一旦一個(gè)引用被初始化為指向一個(gè)對象,就不能再指向其他對象,而指針可以在任何時(shí)候指向任何一個(gè)同類型對象。這兒可以看出指針是很花心的,而引用則是一心一意的,所以我們要多用引用;
g. 沒有NULL引用,但有NULL指針;
h. 在sizeof中含義不同:引用結(jié)果為引用的變量的類型的大小,但指針始終是地址空間所占字節(jié)個(gè)數(shù)(4個(gè)字節(jié));
i. 引用自加改變變量本身的內(nèi)容,指針自加改變了指針指向,跳過該指針指向的對象所占的空間大小;
j. 有多級指針,但是沒有多級引用;
k. 引用比指針使用起來相對更安全。
總結(jié)
以上是生活随笔為你收集整理的初识C++之指针与引用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qrcode生产带logo_比亚迪换新标
- 下一篇: 初识C++之多态