C++关于new和delete运算符的应用
发布网友
发布时间:2022-04-23 03:48
我来回答
共3个回答
热心网友
时间:2023-07-13 15:32
int* p=&A1;
delete p;
这肯定不行。 A1是栈里分配的内存怎么能delete呢。 每一次delete的一定是你new出来的东西
热心网友
时间:2023-07-13 15:33
delete p;
这里错了,
int* p=&A1;
这个语句只不过是普通的将A1的地址给P,不是在自由存储区里的,所以不用delete来删除。
去了这句就可以了
热心网友
时间:2023-07-13 15:33
动态分配的内存才需要delete去释放。如: int* pA1=new int(A1);
而 int* p=&A1; //不是动态分配的内存,因此不需要delete p;