Re: [問題] delete的用法

看板C_and_CPP (C/C++)作者 (有趣生活)時間18年前 (2006/10/25 19:07), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
※ 引述《dbzgtgwduo (迪歐麥斯威爾)》之銘言: : 我記得我在書上有看過 (印象中,有錯請指正) : delete 不能一次刪除多個元素,也就是像 delete A, B, C; 這樣 : 要分開寫。 你的印象沒錯,原 po 寫 delete A,B,C; 只會清除 A 而已 #include <iostream> using namespace std; class X { public: ~X(){ cout<<"destructor"<<endl; } }; int main(){ X *x1,*x2,*x3; x1 = new X; x2 = new X; x3 = new X; // 錯誤用法,等同 (delete x1),x2,x3; delete x1,x2,x3; // 清除三個單一物件,要分三次 /* delete x1; delete x2; delete x3; */ cin.get(); return 0; } : 另外 delete A; 是刪除 A 所指到的資料,只有單一一個 : delete[] A; 是刪除一個 A 所指到的陣列 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.207.20
文章代碼(AID): #15FqLez- (C_and_CPP)
文章代碼(AID): #15FqLez- (C_and_CPP)