求助!想知道封裝下2.2 老師說的10分21秒的位置,說執(zhí)行完for之后,指針等于3,還有關(guān)于內(nèi)存的問題
想知道老師說的10分21秒的位置,說執(zhí)行完for之后,指針等于3,非法才跳出循環(huán),可是指針p不是一直在--嗎,為什么會等于3??j不是應(yīng)該2、1、0,繼續(xù)減為-1,才非法跳出For循環(huán)嗎?這樣再進(jìn)行p++,才剛好和開始分配的內(nèi)存相同,不然內(nèi)存這點(diǎn)也解釋不通?。??到底剛開始申請的哪段內(nèi)存,后面釋放的如果不加p++又指的是哪段內(nèi)存??求助大神
2016-11-14
老師說的是j=3哦。前面從堆上申請了p數(shù)組;在對p數(shù)組進(jìn)行實(shí)例化時(shí)候進(jìn)行了兩次p++,p走到了第三個(gè)元素的位置;
如果只進(jìn)行兩次p--,那么p 剛好回到第一個(gè)元素的位置。但是在對p數(shù)組遍歷時(shí)候,進(jìn)行了三次p--。
p已經(jīng)跑出我們申請的內(nèi)存范圍了。所以需要再來一次p++,使得p回到內(nèi)存中的第一個(gè)元素的位置上來,在進(jìn)行
delete[]p 釋放。