c++智能指針 C 的智能指針不就基本解決了野指針問題了嗎?為什么還要吹捧rust的內(nèi)存安全?
C 的智能指針不就基本解決了野指針問題了嗎?為什么還要吹捧rust的內(nèi)存安全?從編譯器階段開始,rust就消除了內(nèi)存安全問題,包括單線程和多線程。這是由于編譯器級別的rust的復(fù)雜所有權(quán)機(jī)制,這使
C 的智能指針不就基本解決了野指針問題了嗎?為什么還要吹捧rust的內(nèi)存安全?
從編譯器階段開始,rust就消除了內(nèi)存安全問題,包括單線程和多線程。這是由于編譯器級別的rust的復(fù)雜所有權(quán)機(jī)制,這使得任何人都不可能編寫不安全的代碼。這就是法律體系。
使用C/C,世界上沒有一個(gè)程序員能夠保證代碼的絕對內(nèi)存安全性。雖然C是一個(gè)屠龍者,但這個(gè)問題也非常重要。也就是說,沒有辦法保證代碼的內(nèi)存安全和線程安全。
C智能指針,或者在使用過程中出現(xiàn)問題,例如多線程環(huán)境中的最新共享uptr,如果程序員忘記執(zhí)行鎖定操作怎么辦?這不會發(fā)生在信任的情況下。使用arc機(jī)制,如果不鎖定,就無法訪問數(shù)據(jù)。即使在單線程環(huán)境中,您能保證所有程序員都不會傳遞智能指針實(shí)例的引用嗎?太多了。C無法在編譯時(shí)發(fā)現(xiàn)這些問題。
鐵銹是法治,而不是人治。數(shù)據(jù)訪問沖突,根本無法編譯
軟件開發(fā)有前途嗎?
人才短缺,前景無限。