課程
/后端開發
/C++
/C++遠征之封裝篇(下)
此處堆內存的delete不是delete[]p?少了[]也可以?搞不清楚什么時候要[],什么時候不要,哪位大俠指導一下?拜謝
2019-01-14
源自:C++遠征之封裝篇(下) 4-3
正在回答
這是送分題嗎
實例化對象是數組時才需要[]
如果申請的是數組就要用[],如果不是就不必要。。因為如果是數組不用delete[] ,,刪除的只是第一個元素!
聲明數組對象時需要delete []p,聲明單個對象時只需要delete p
int *p =new int[5]; delete []p;
int *p =new int; delete p;
最簡單的方法new 后面那個數據類型有沒有[];有delete 就要有沒有 delete就也不用
這里創建的*P是一個對象,所以銷毀的時候不用[];當創建的是一個對象數組的話就需要[];這個是內存管理的內容,即申請一個內存,銷毀的時候是delete p;申請的是內存塊的話就要delete []p
舉報
封裝--面向對象三大特征之一,通過案例讓C++所學知識融會貫通
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2021-03-21
這是送分題嗎
2020-05-31
實例化對象是數組時才需要[]
2020-05-04
如果申請的是數組就要用[],如果不是就不必要。。因為如果是數組不用delete[] ,,刪除的只是第一個元素!
2020-05-03
聲明數組對象時需要delete []p,聲明單個對象時只需要delete p
2019-07-16
int *p =new int[5]; delete []p;
int *p =new int; delete p;
最簡單的方法new 后面那個數據類型有沒有[];有delete 就要有沒有 delete就也不用
2019-01-15
這里創建的*P是一個對象,所以銷毀的時候不用[];當創建的是一個對象數組的話就需要[];這個是內存管理的內容,即申請一個內存,銷毀的時候是delete p;申請的是內存塊的話就要delete []p