for (int i = 0; i < numElements; ) { s << array[i]; } 這里的array[I]只是一個指針算法的縮寫:它所代表的是*(array)。我們知道array是一個指向數組起始地址的指針,但是array中各元素內存地址與數組的起始地址的間隔究竟有多大呢?它們的間隔是i*sizeof(一個在數組里的對象),因為在array數組[0]到[I]間有I個對象。編譯器為了建立正確遍歷數組的執行代碼,它必須能夠確定數組中對象的大小,這對編譯器來說是很輕易做到的。參數array被聲明為BST類型,所以array數組中每一個元素都是BST類型,因此每個元素與數組起始地址的間隔是be i*sizeof(BST)。