作者UNARYvvv (有趣生活)
看板C_and_CPP
标题Re: [问题] delete的用法
时间Wed Oct 25 19:09:00 2006
※ 引述《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