第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

“指針”是成熟的編程語(yǔ)言必須具有的概念嗎?

“指針”是成熟的編程語(yǔ)言必須具有的概念嗎?

我在看一個(gè)日本人寫的書《征服C指針》,書上的引言提到這么一句話確實(shí),“C指針”有著底層而邪惡的一面,但是,它又是構(gòu)造鏈表和樹等“數(shù)據(jù)結(jié)構(gòu)”不可缺少的概念。如果沒有指針,我們是做不出像樣的應(yīng)用程序的。所以,凡是真正成熟的開發(fā)語(yǔ)言,必定會(huì)存在指針,如Pascal、Delphi、Lisp和Smalltalk等,就連VisualBasic也存在指針。早期的Perl因?yàn)闆]有指針而飽受批評(píng),從版本5開始也引入了指針的概念。當(dāng)然,Java也是有指針的。很遺憾,世上好像對(duì)此還存有根深蒂固的誤解。在本書中,我們將體驗(yàn)如何將指針真正地用于構(gòu)造數(shù)據(jù)結(jié)構(gòu)。“指針”是成熟的編程語(yǔ)言必須具有的概念。它上面提到的這些語(yǔ)言我都沒有學(xué)過,但是根據(jù)我學(xué)過的JavaScript,Python和Ruby,它們都是沒有指針的啊,這是怎么回事呢?難道是作者錯(cuò)了,還是我理解有問題呢?
查看完整描述

2 回答

?
慕姐8265434

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊

指針的本意是:在一個(gè)變量中保存另一個(gè)變量的地址,以提供將“地址”變量化的能力。如果沒有指針,將無(wú)法用一個(gè)變量引用另一個(gè)變量(只能把變量的值拷貝一份賦給另一個(gè)變量)。
C語(yǔ)言中提供了完善的指針操作,包括為指針賦值、內(nèi)存分配(malloc)、取變量地址、讓指針可以參與運(yùn)算等,這使得C程序員能夠任意操作可用內(nèi)存。
Java(Javascript)中也有指針,只不過與C相比,Java對(duì)程序員使用指針有著嚴(yán)格的限制,僅允許賦值操作,而且不是任意值,只能是通過new創(chuàng)建的對(duì)象引用或其他引用變量的值。不過Java一般不說指針,而是用引用(reference)來(lái)稱呼指向?qū)ο蟮闹羔?,不過,Java中仍然可以找到一些指針存在的影子,例如,當(dāng)一個(gè)對(duì)象為null時(shí)調(diào)用方法會(huì)導(dǎo)致nullpointer異常,即所謂的空指針錯(cuò)誤,可見Java內(nèi)部使用的確實(shí)是指針。
很多基本的數(shù)據(jù)結(jié)構(gòu),例如鏈表、樹、圖等,都必須用指針來(lái)保存前驅(qū)或后繼節(jié)點(diǎn)的地址,否則這些數(shù)據(jù)結(jié)構(gòu)無(wú)法實(shí)現(xiàn)。
如果一個(gè)語(yǔ)言不提供指針,雖然在理論上它也具備完整的計(jì)算能力,但很多在其他語(yǔ)言中非常簡(jiǎn)單的問題都將變得極其復(fù)雜(本來(lái)想舉個(gè)例子的,但一時(shí)想不起了,不過這個(gè)結(jié)論肯定是正確的)。
所以這個(gè)作者說的是對(duì)的,只是你需要理解指針的本質(zhì),不要錯(cuò)誤地認(rèn)為只有像C語(yǔ)言那樣的指針才叫指針,真正的指針的概念請(qǐng)看我開頭的那句。
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-19
?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊

沒看過那個(gè)作者的書但java里面叫引用和指針還是有區(qū)別的并不能直接操縱內(nèi)存?zhèn)€人理解指針的存在是為了獲得運(yùn)行時(shí)的效率和底層訪問的能力然而對(duì)于一個(gè)成熟的編程語(yǔ)言這兩個(gè)在現(xiàn)在看來(lái)并不是必須的特性而開發(fā)效率解決特定問題的能力等也是重要的考量貌似作者就是非常毒舌的風(fēng)格
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-19
  • 2 回答
  • 0 關(guān)注
  • 541 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)