卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

c++引用和指針區(qū)別 引用與指針的區(qū)別?

引用與指針的區(qū)別?引用訪問是對(duì)變量的直接訪問,而指針訪問是間接訪問。引用是變量的別名。它不分配自己的內(nèi)存空間,但指針有自己的內(nèi)存空間。引用在開頭綁定到一個(gè)內(nèi)存空間(必須在開頭指定初始值),因此它只能是

引用與指針的區(qū)別?

引用訪問是對(duì)變量的直接訪問,而指針訪問是間接訪問。

引用是變量的別名。它不分配自己的內(nèi)存空間,但指針有自己的內(nèi)存空間。

引用在開頭綁定到一個(gè)內(nèi)存空間(必須在開頭指定初始值),因此它只能是該

內(nèi)存空間的名稱,不能更改為任何其他名稱。當(dāng)然,您可以更改此內(nèi)存空間的值。

例如

int I=3,j=4

int&x=I//成為I的別名

X=j//不能否認(rèn)X仍然指I,而不是j的別名。它只是更改X和j共享的內(nèi)存空間的值。

這與指針不同,它可以隨時(shí)改變自己的點(diǎn)

引用,一個(gè)變量的別名,為什么要引入別名?原因是我們想定義一個(gè)變量,它共享另一個(gè)變量的內(nèi)存空間。使用alias無疑是一個(gè)不錯(cuò)的選擇。變量是什么?它是一個(gè)內(nèi)存空間的名稱。如果我們給這個(gè)內(nèi)存空間起另一個(gè)名字,那就是我們可以共享這個(gè)內(nèi)存。引用(別名)來自此。指針,指向另一個(gè)內(nèi)存空間的變量。我們可以通過它索引另一個(gè)內(nèi)存空間的內(nèi)容。它有自己的存儲(chǔ)空間。兩者的區(qū)別:引用訪問,變量是直接訪問,指針是間接訪問。引用是變量的別名。它不分配自己的內(nèi)存空間,但指針有自己的內(nèi)存空間。引用在開始時(shí)綁定到一個(gè)內(nèi)存空間(初始值必須在開始時(shí)賦值),因此它只能是這個(gè)內(nèi)存空間的名稱,不能更改為任何其他名稱。當(dāng)然,這個(gè)內(nèi)存空間的值是可以改變的。例如,int i=3,j=4,int&x=i//成為i=j//的別名X,不可否認(rèn)X仍然指向i而不是j的別名,它只是改變X和j共享的內(nèi)存空間的值,指針不同于指針,它可以隨時(shí)改變它的點(diǎn)

簡言之,指針是表示地址的無符號(hào)整數(shù)。

所以僅僅理解指針是不夠的。您還需要知道指針指向的數(shù)據(jù)空間是如何排列的。這可能涉及到一些與特定CPU/OS相關(guān)的知識(shí)。如果我們能用計(jì)算機(jī)體系結(jié)構(gòu)的知識(shí)來理解它,它會(huì)更深刻、更準(zhǔn)確。

例如:

如何存儲(chǔ)float/double/long double?

如何在數(shù)據(jù)空間中組織陣列?

字符串是如何存儲(chǔ)的?

如何存儲(chǔ)結(jié)構(gòu)和聯(lián)合體?

位域組織

具體CPU相關(guān)部分如下:

整數(shù)的存儲(chǔ)將涉及CPU大小的指定

浮點(diǎn)數(shù)的存儲(chǔ)直接關(guān)系到FPU的設(shè)計(jì)

此外,還有一些擴(kuò)展知識(shí),涉及內(nèi)存的分配和釋放:如何在程序中分配內(nèi)存?(malloc/free)

什么是堆和堆棧?

總而言之:指針是地址和整數(shù)。但要充分利用它,我們需要了解計(jì)算機(jī)存儲(chǔ)空間的分配。困難在這里,突破在這里。