删除指针两次

原创 2011年10月19日 13:54:09

会发生意想不到的灾难。

假设有一个指针变量p 第一次执行delete p 可以安全的释放对象*p 而且p指向的内存会安全地返回到堆上,在没有随后的返回那个指针new的情况下第二次相同的指针会被传递到delete 过去曾经是*p中的对象现在被传递到析构函数(这可能是灾难性的)而且把由p指向的内存第二次传递给堆,可能会破坏该堆及其自由内存表。

组合语言之艺术6

 第五章 套装软件制作    程式写完后,还要加工成为可执行的套装软件(Package),一般说来,即使是可以执行的程式,一点错误都没有,离套装软件的程度,却还有一段距离。    当然,程式侦错也是必...
  • dot99
  • dot99
  • 2001-08-04 22:28:00
  • 807

两次free()或delete()同一个指针地址会怎么样。

#include "stdafx.h" #include using namespace std; int _tmain(int argc, _TCHAR* argv[]) { //cout
  • ZHM977863924
  • ZHM977863924
  • 2015-03-27 13:43:07
  • 1688

C++ 使用delete删除指针(2

http://blog.sina.com.cn/s/blog_6405313801013jvm.html C++ 使用delete删除指针(2)  (2012-...
  • wangyin159
  • wangyin159
  • 2015-07-14 09:46:28
  • 856

指针不允许两次删除?

  #pragma warning (disable : 4786)#include #include #include #include using namespace std;class A{pu...
  • yaoike
  • yaoike
  • 2008-10-23 15:16:00
  • 1009

同一个指针居然可以分配两次内存而不出错。

今天上午,一个小失误。把一个CBUTTON*  p指针分配空间的代码,放到了一个循环执行语句中。结果在对其进行坐标变换的时候出现了2个id相同的CBUTTON。一个在原来的位置不动,另一个移动到新的位...
  • CBEMA
  • CBEMA
  • 2010-01-27 13:38:00
  • 575

连续两次free()同一个指针的报错

连续两次调用free()对同一指针操作,会出现堆报错的问题。在自定义一个包含free()函数的释放函数的时候,两次调用free()对同一指针操作的可能性增大。本篇文章分析了出现错误的原因,并提供了一种...
  • Lmikic
  • Lmikic
  • 2016-03-29 20:00:26
  • 2103

利用指针控制数组大小过程

#include #include int main() { int a,i,j; int* n; float* score=NULL; n=&a; printf("请输入...
  • dan951028suishiguang
  • dan951028suishiguang
  • 2015-05-14 19:10:58
  • 250

Vector中保存和删除指针数据类型时的tips

   vector中保存类的指针类型时,在使用remove或者erase进行元素的删除时,需要防止内存泄露的发生。一般保存到vector中的元素都是手工new出来的对象,这些对象在必须手工进行销毁以防...
  • barfoo
  • barfoo
  • 2007-05-02 15:35:00
  • 5564

C++ 使用delete删除指针(1

http://blog.sina.com.cn/s/blog_6405313801013jvg.html C++ 使用delete删除指针(1)   (201...
  • wangyin159
  • wangyin159
  • 2015-07-14 09:47:37
  • 1906

使用delete删除指针

原文:http://blog.sina.com.cn/s/blog_6405313801013jvg.html 用delete命令处理某个指针,说是把那个指针删除了是不正确的。 delete命令指...
  • penghuilater
  • penghuilater
  • 2016-12-12 13:48:14
  • 2330
收藏助手
不良信息举报
您举报文章:删除指针两次
举报原因:
原因补充:

(最多只允许输入30个字)