對象數組通過new實例化后返回的是一個指向數組中第一個對象的指針,凡是指針最終的類型是uint32,即無符號32位整數(uint64,程序的編譯環境為64位)。
Object * p = new Object[3];
編譯器會把p++或者是p=p+2之類的指針加減運算轉換為指針指向的變化,例如運行p++之后,看起來是p=p+1,實際上在棧中指針p的值增加了一個0x4(0x8,同上),這說明對象數組在棧中實際上是連續的存儲,而對象數組每個元素在棧中存儲的是對應對象所在的地址。隨便舉個例子:
有錯誤或疏忽請聯系我,以便及時改正