发布网友 发布时间:2022-04-23 03:48
共3个回答
热心网友 时间:2023-07-15 05:11
实测不可以
#include<iostream>
using namespace std;
void main(){
char*a="986";
delete a;
}
编译成功,运行失败
热心网友 时间:2023-07-15 05:11
堆栈内的数据不能一下子出栈,有顺序要求。
热心网友 时间:2023-07-15 05:12
不可以。
存储区一共分为5个区,分别是:
常量存储区、堆存储区、栈存储区、全局及静态存储区、代码存储区
其中只有堆存储区可以供程序员申请和释放,其它均由系统自动管理。
delete操作符实际上是通过调用free函数来实现的,而free函数操作的就是堆存储区,因此delete不能释放栈中的数据,栈是由系统自动管理的。