首页 > 编程知识 正文

oracle服务器会预开辟内存,oracle delete 释放表空间

时间:2023-05-04 21:55:53 阅读:175199 作者:4361

C内存管理—— delete释放内存的时效性delete释放之后,内容是立即回收的吗?

# includeiostreamusingnamespacestd; int main () {int *map; int i=10; wile(I-- ) ) { map=new int[20]; map[i]=i; cout map[i]endl; //1 delete [ ]映射; cout map[i]endl; //2 }}运行结果:

9887765543219082-9862922081000以上内容表明,删除后并不会立即回收内存。

实际上,在调用delete后,此内存表示可以在操作系统中重新分配,但指针仍然指向此内存。 虽然指针指向原来的位置,但由于其内存随时都有可能被回收,因此输出结果存在不确定性。 因此,我们通过在删除的同时将指针设为NULL,在下次调用该指针时,用if(null==p )判断指针的状态,不使用野指针。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。