Re: [問題] delete的用法
※ 引述《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
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章