課程
/后端開發
/C++
/C++遠征之封裝篇(下)
前面說int對象成員 一個占4個內存單元,怎么sizeof(line) 占用16個內存單元?
2016-12-13
源自:C++遠征之封裝篇(下) 4-4
正在回答
答:
? ? ? ?因為Coordinate類中有兩個int變量共8個內存單元,然而Line類中包含兩個Coordinate類型的參數 即A點,B點,一個點就相當于占用8個內存單元,所以A+B = 16個內存單元。
注意:
?????????。?!但是,Line類中定義的是對象指針(地址(32位系統--4個內存單元))而不是對象,所以實際的sizeof(line)是8個內存單元。
你小子可以啊 提問者
慕粉1026331268
舉報
封裝--面向對象三大特征之一,通過案例讓C++所學知識融會貫通
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-12-13
前面說int對象成員 一個占4個內存單元,怎么sizeof(line) 占用16個內存單元?
答:
? ? ? ?因為Coordinate類中有兩個int變量共8個內存單元,然而Line類中包含兩個Coordinate類型的參數 即A點,B點,一個點就相當于占用8個內存單元,所以A+B = 16個內存單元。
注意:
?????????。?!但是,Line類中定義的是對象指針(地址(32位系統--4個內存單元))而不是對象,所以實際的sizeof(line)是8個內存單元。