首页 热点资讯 义务教育 高等教育 出国留学 考研考公

delete操作可以删除栈中的数据吗?

发布网友 发布时间: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不能释放栈中的数据,栈是由系统自动管理的。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com