欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          java中的引用與c++中的指針的區(qū)別

          java中的引用與c++中的指針的區(qū)別

          Java的引用和C++的指針都是指向一塊內(nèi)存地址的,通過引用或指針來完成對內(nèi)存數(shù)據(jù)的操作,但是它們在實(shí)現(xiàn),原理作用等方面卻有區(qū)別。

          (1)類型:引用其值為地址的數(shù)據(jù)元素,Java封裝了的地址,可以轉(zhuǎn)換成字符串查看,長度也可以不必?fù)?dān)心。C++指針是一個裝地址的變量,長度一般是計(jì)算機(jī)字長,可以認(rèn)為是個int。

          免費(fèi)在線視頻教程推薦:java視頻教程

          (2)所占內(nèi)存:引用聲明時沒有實(shí)體,不占空間。C++指針如果聲明之后會用到才會賦值。如果用不到不會分配內(nèi)存。

          (3)類型轉(zhuǎn)換:引用的類型轉(zhuǎn)換,也可能不成功,運(yùn)行時拋異常或者編譯就不能通過。C++指針指示個內(nèi)存地址,指向內(nèi)存,對程序來說還都是一個地址,但可能所指的地址不是程序想要的。

          (4)初始值:引用初始值為java關(guān)鍵字null。C++指針是int,如不初始化指針,那它的值就不是固定的了,這很危險。

          (5)計(jì)算:引用不可以計(jì)算。C++指針是int,他可以計(jì)算,如++或–,所以經(jīng)常用指針來代替數(shù)組下標(biāo)。

          (6)內(nèi)存泄露:Java引用不會產(chǎn)生內(nèi)存泄露。C++指針是容易產(chǎn)生內(nèi)存泄露的,所以程序員要小心使用,及時回收。

          (7)作為參數(shù):Java的方法參數(shù)只是傳值,引用作為參數(shù)使用時,會給函數(shù)內(nèi)引用的值的COPY,所以在函數(shù)內(nèi)交換倆個引用參數(shù)是沒意義的,因?yàn)楹瘮?shù)只交換參數(shù)的COPY值,但在函數(shù)內(nèi)改變一個引用參數(shù)的屬性是有意義的,因?yàn)橐脜?shù)的COPY所引用的對象時和引用參數(shù)是同一個對象。

          C++指針作為參數(shù)給函數(shù)使用,實(shí)際上就是它所指的地址在被函數(shù)操作,所以函數(shù)內(nèi)使用指針參數(shù)的操作都將直接作用到指針?biāo)赶虻牡刂罚ㄗ兞?,對象,函?shù)等)。

          相關(guān)文章教程推薦:java入門教程

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號