講師回答 / 陳雷
可以這么簡單的理解:1、對于key是數字的,就不用涉及到hash運算,此時使用的是packed array; 當然如果key的值較大,或者間隔較大,還是會退化成hash array。? packed array 能夠節省索引部分占用的內存,是一個性能上的優化;2、對于key是非數字的,必須用hash算法進行計算出來它所在bucket的位置,那么索引數組是必不可少的,只能是hash array。這是底層的實現,對于我們寫php代碼,需要關注的點是對于業務中的大數組,有沒有可能設計一些算法,讓它滿足packe...
2018-12-19
最新回答 / weibo_雷神傷感_0
結構體(使用關鍵字 struct),是C語言里的東西,C語言不是面向對象的。C語言發明時候,還沒有面向對象概念。后來出現語言C++,Java,C#等為標準,你可以把結構體和類(使用關鍵字class)對比起來。不難發現,結構體是公有的,數據和函數都可以被結構體外函數使用。在現在軟件工程理論里,這被認為是不規范。所以后期語言都有class,默認私用。
2018-12-17