課程
/后端開發
/C++
/C++遠征之封裝篇(下)
Line *p=new Line(1,2,3,4)
cout<<sizeof(p)<<endl;
這里為什么結果是4啊,不應該是16嗎
2018-11-09
源自:C++遠征之封裝篇(下) 4-5
正在回答
因為你定義的指針p,雖然指向了一個16大小的堆,但是在sizeof(p)計算的時候只是對p這個指針的所占內存,而對那個堆的內存不計算。
慕粉1026331268 提問者
舉報
封裝--面向對象三大特征之一,通過案例讓C++所學知識融會貫通
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-11-10
因為你定義的指針p,雖然指向了一個16大小的堆,但是在sizeof(p)計算的時候只是對p這個指針的所占內存,而對那個堆的內存不計算。