危险的代码:

int* p=new int(1);
   delete p;
   delete p;

安全的代码:

int* p=new int(1);
   delete p;
   p = NULL;

(1)delete 一次以后,p成了野指针,它作为地址的值还是有效地没还可以访问它以前指向的内存,不过那片内存被重新格式化了;
(2)p不等于NULL,用 if(p) 语句不能判断它指向的内存是否有效(此时它指向的内存无效,p本身有效);
(3)delete 一次以后,不能再次delete,否则会报错;
(4)此时如果误用p指针,仍然可以修改内存的值和从该处取出数值,但此时数据不受保护,该内存空间可能被重新被分配给别的变量;
(5)如果p指向的空间再次被new函数分配,即使是分配给别的指针,即使分配大小与原来不一样,p又恢复了效力,可以改变内存的值,甚至可以重新被delete,p的作用与新分配的指针一样;

转自:https://www.cnblogs.com/romanten/p/6885216.html

线程 0x26ac 已退出,返回值为 0 (0x0)。
线程 0x4524 已退出,返回值为 0 (0x0)。
线程 0x22d4 已退出,返回值为 0 (0x0)。
线程 0x3b30 已退出,返回值为 0 (0x0)。
线程 0x3128 已退出,返回值为 0 (0x0)。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: BuildingException,位于内存位置 0x000000A88E716580 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: BuildingException,位于内存位置 0x000000A88E716580 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: BuildingException,位于内存位置 0x000000A88E716580 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: BuildingException,位于内存位置 0x000000A88E716580 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: BuildingException,位于内存位置 0x000000A88E716580 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: BuildingException,位于内存位置 0x000000A88E716580 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: BuildingException,位于内存位置 0x000000A88E716580 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: BuildingException,位于内存位置 0x000000A88E716580 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: BuildingException,位于内存位置 0x000000A88E716580 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: carve::exception,位于内存位置 0x000000A88E715800 处。
0x00007FFFA2C5A388 处(位于 TeslaManage.exe 中)引发的异常: Microsoft C++ 异常: BuildingException,位于内存位置 0x000000A88E716580 处。
QObject::connect: Cannot connect (null)::timeout() to VCViewerWidget::slotAnimationFrame()
线程 0x4088 已退出,返回值为 0 (0x0)。
“TeslaManage.exe”(Win32): 已卸载“C:\Windows\System32\Windows.StateRepositoryPS.dll”
“TeslaManage.exe”(Win32): 已卸载“C:\Windows\System32\PortableDeviceApi.dll”
“TeslaManage.exe”(Win32): 已卸载“C:\Windows\System32\Windows.Storage.Search.dll”
“TeslaManage.exe”(Win32): 已卸载“C:\Windows\System32\MMDevAPI.dll”
“TeslaManage.exe”(Win32): 已卸载“C:\Windows\System32\provsvc.dll”
“TeslaManage.exe”(Win32): 已卸载“C:\Windows\System32\devobj.dll”
“TeslaManage.exe”(Win32): 已卸载“C:\Windows\System32\wintrust.dll”
“TeslaManage.exe”(Win32): 已卸载“C:\Windows\System32\setupapi.dll”
“TeslaManage.exe”(Win32): 已卸载“C:\Windows\System32\EhStorAPI.dll”
“TeslaManage.exe”(Win32): 已卸载“C:\Windows\System32\InputHost.dll”
“TeslaManage.exe”(Win32): 已卸载“C:\Windows\System32\Windows.UI.dll”
“TeslaManage.exe”(Win32): 已卸载“C:\Windows\System32\PlayToDevice.dll”
“TeslaManage.exe”(Win32): 已卸载“C:\Windows\System32\OneCoreUAPCommonProxyStub.dll”

delete 删除指针的更多相关文章

  1. 不要轻易delete void*指针,这样会隐藏比较多的错误。

    #include<iostream> using namespace std; class Object{ void* data; const int size; const char i ...

  2. free 或delete后指针怎么样了

    free()和delete()只是把指针所指向的内存释放掉,但是并没有把指针本身删除,也没有把指针置为NULL; #include<iostream> using namespace st ...

  3. Oracle库Delete删除千万以上普通堆表数据的方法

    需求:Oracle数据库delete删除普通堆表千万条历史记录. 直接删除的影响: 1.可能由于undo表空间不足从而导致最终删除失败的问题: 2.可能导致undo表空间过度使用,影响到其他用户正常操 ...

  4. mysql delete删除记录数据库空间不减少问题解决方法

    记得在中学时学计算机时老师就告诉我delete删除记录只是给数据库中的记录加一个删除标识了,这样数据库空间并不是减少了,当时没想这么多,昨天发现一个数据库利用delete 删除之后容量没变,后来百度了 ...

  5. 数据库CRUD操作:C:create创建(添加)、R:read读取、U:update:修改、D:delete删除;高级查询

    1.注释语法:--,#2.后缀是.sql的文件是数据库查询文件3.保存查询4.在数据库里面 列有个名字叫字段   行有个名字叫记录5.一条数据即为表的一行 CRUD操作:create 创建(添加)re ...

  6. CRUD操作 create创建 read读取 update修改 delete删除

    1.注释语法:--,#2.后缀是.sql的文件是数据库查询文件3.保存查询4.在数据库里面 列有个名字叫字段 行有个名字叫记录 CRUD操作:create 创建(添加)read 读取update 修改 ...

  7. MYSQL中delete删除多表数据

    MYSQL中delete删除多表数据 DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释: 1. delete from t1 where 条件 2.delete t1 ...

  8. 无责任Windows Azure SDK .NET开发入门篇三[使用Azure AD 管理用户信息--3.5 Delete删除用户]

    3.5 Delete删除用户 删除也是通过ObjectID获得对象进行删除 [Authorize] public async Task<ActionResult> Delete(strin ...

  9. MYSQL中delete删除多表数据与删除关联数据

    在mysql中删除数据方法有很多种,最常用的是使用delete来删除记录,下面我来介绍delete删除单条记 录与删除多表关联数据的一些简单实例. 1.delete from t1 where 条件 ...

随机推荐

  1. Java基本知识点o(1), o(n), o(logn), o(nlogn)的了解

    在描述算法复杂度时,经常用到o(1), o(n), o(logn), o(nlogn)来表示对应算法的时间复杂度, 这里进行归纳一下它们代表的含义: 这是算法的时空复杂度的表示.不仅仅用于表示时间复杂 ...

  2. 猜数游戏-人机对战-经典的randint使用

    翻阅去年的笔记,老师曾经教的random模块下的三种用法,其中之一是randint用法,今天上传,留作笔记参考.人生苦短,我用python! # -*- coding: UTF-8 -*- impor ...

  3. Kubernetes概览

    Kuberbetes这个名字是什么意思?k8s又是什么?Kubernetes这个名字源自希腊语,意思是“舵手”,也是“管理者”,“治理者”等词的源头.k8s是 Kubernetes的简称(用数字『8』 ...

  4. [0, 1] 区间内 n 次独立随机事件的一些问题

    问题一 证明:一根1米长的绳子,随机切成 $N$ 刀,变成($N+1$)根绳子,则最短的一根绳子长度的期望为 $\displaystyle \frac{1}{(N+1)^2}$. 证: 引理:当分成 ...

  5. 洛谷P2396 yyy loves Maths VII【状压dp】

    题目:https://www.luogu.org/problemnew/show/P2396 题意:有n个数,每次选择一个表示走$a[i]$步,每个数只能选一次. 最多有两个厄运数字,如果走到了厄运数 ...

  6. sql server 存储过程中,调用事务 tran

      Sql Server 2005/2008中提供了begin tran,commit tran和rollback tran来使用事务. begin tran表示开始事务, commit tran表示 ...

  7. OSS的简单使用

    OSS简介 Object Storage Service,简称 OSS,是阿里云提供的海量.安全.低成本.高可靠的云存储服务. 它具有与平台无关的RESTful API接口,能够提供99.999999 ...

  8. snmp_trap/snmptt

    Zabbix Snmp Trap 配置 1. Zabbix Server 操作 1.1 Snmp Trap 安装配置 yum install -y net-snmp net-snmp-utils vi ...

  9. Poj 2104 K-th Number(主席树&&整体二分)

    K-th Number Time Limit: 20000MS Memory Limit: 65536K Case Time Limit: 2000MS Description You are wor ...

  10. qsing

    qsing1 1.低仿机器人 一道大模拟 2.放爆竹 小辉原本想让小明告诉他,如果同时点燃n串雷,最多会有多长的时间至少有两串雷爆炸的声音是一样的. 但是小辉觉得这个问题真是太简单了,所以决定问小明, ...