成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

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

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

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

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

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

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

內存空間的名稱,不能更改為任何其他名稱。當然,您可以更改此內存空間的值。

例如

int I=3,j=4

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

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

這與指針不同,它可以隨時改變自己的點

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

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

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

例如:

如何存儲float/double/long double?

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

字符串是如何存儲的?

如何存儲結構和聯(lián)合體?

位域組織

具體CPU相關部分如下:

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

浮點數(shù)的存儲直接關系到FPU的設計

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

什么是堆和堆棧?

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