首先,系统知道哪一部分堆的线性空间被占掉了,new就是起这个作用,仅仅是声明一下(可能多了一个功能),因为堆的空间不一定是直接从系统调用获得的,堆的空间是这样管理的:程序先伸请一个大的堆空间,这个时候是通过系统调用获得空间,以后的每一次new都是从这个已获得的空间里面再进行零售分配,与系统调用无关,只有当这个大的堆空间不足时,才会再次调用系统调用申请更多空间(new触发).所以,即使一个指针被delete掉,指针的值如果不变,他所指向的空间仍然在那一个大块空间里,仍然是属于进程的线性地址空间,估计,这个空间的权限是可读可写可执行的,所以,delete掉以后,仍然可以对它赋值,读。
    程序装载到线性地址空间是按分页进行的,好进行虚拟地址与物理地址的映射,而每个页都有一个权限,比如:代码段就是只读的,而堆对应的页的权限,是可读可写可执行。

转载:http://blog.chinaunix.net/uid-22174570-id-1786893.html

关于“为什么delete以后指针还能被赋值”一种描述相关推荐

  1. 在析构函数中delete this指针问题

    思考:在析构函数中delete this指针,运行下面代码会产生什么样的结果呢? #include <iostream> using namespace std; class A{ pub ...

  2. C语言中指针的初始化和赋值

    1.指针的初始化 指针初始化时,"="的右操作数必须为内存中数据的地址,不可以是变量,也不可以直接用整型地址值(但是int*p=0;除外,该语句表示指针为空).此时,*p只是表示定 ...

  3. 【二级指针--定义、初始化赋值、解引用;特殊指针--空指针、void类型的指针】(学习笔记12--指针下)

    目录 一.二级指针 指针的指针 二级指针的定义 二级指针的初始化与赋值 二级指针的解引用 二级指针与指针数组 main函数的参数 二.特殊指针 空指针 void类型的指针 新星计划第六篇博文,下面是上 ...

  4. C语言指针的初始化和赋值

    1.指针的初始化 指针初始化时,"="的右操作数必须为内存中数据的地址,不可以是变量,也不可以直接用整型地址值(但是int*p=0;除外,该语句表示指针为空).此时,*p只是表示定 ...

  5. c语言中,关于指针变量前的*有两种表现形式:

     c语言中,关于指针变量前的*有两种表现形式: 变量定义时 如:char *pc;   int *pi; 这里的*是跟随变量类型(char, int...)的,表示指针变量类型,是个标识符 变量引 ...

  6. C/C++中的指针变量可以相互赋值,使得它们指向同一块地址空间

    两个指针变量可以相互赋值吗? int *p, *q; p=q; 这样写是什么意思?是p指向q吗? 答:1.两个指针变量之间可以相互赋值,p和q都是int类型的指针. p=q表示将q所指向的int类型变 ...

  7. 二级指针做输入_第2种内存模型

    #define _CRT_SECURE_NO_WARNINGS #include <stdlib.h> #include <string.h> #include <std ...

  8. 计算机设备更新理由,电脑硬件明明升级了,为什么速度还这么慢?四种原因在背后作怪!...

    原标题:电脑硬件明明升级了,为什么速度还这么慢?四种原因在背后作怪! 电脑硬件在我们生活中很常见,指的是通过更换更高的硬件或者是加装硬件来提高电脑的性能,在很多朋友的心目中都会有这样的一个误区,就是电 ...

  9. 有种中年危机,叫“过了35岁还没副业”,3种方法让你下班赚到钱

    昨天加班回家的时候,下着大雨,在家楼下的停车场里却看见了同层楼的老李,抽着烟坐在车里,脸色很难看. 有种中年危机,叫"过了35岁还没副业",3种方法让你下班赚到钱 我走过去,关切的 ...

  10. delete 删除指针

    危险的代码: int* p=new int(1);    delete p;    delete p; 安全的代码: int* p=new int(1);    delete p;    p = NU ...

最新文章

  1. ASP.NET Core 数据保护(Data Protection)【中】
  2. xp与Vista双系统 相关问题
  3. string.h包含哪些函数_多个函数组合拳专治不规则时间转化难题|Excel134
  4. P2396-yyylovesMathsVII【状压dp】
  5. ruby array_Ruby中带有示例的Array.fill()方法(1)
  6. 1.6编程基础之一维数组_01与指定数字相同的数的个数
  7. 新中大怎么修改服务器,新中大如何修改服务器地址
  8. 屏幕空间的动态全局光照(漫反射)
  9. Hackintool 3.4.7中文版 (黑苹果必备工具箱神器)
  10. 百度云apkg手机文件怎么打开_30秒教你找回vivo手机误删文件,要是你不会的话,那也太可惜了吧...
  11. [最新] Android 代码规范大全(Android开发速看)
  12. 【转载】Kali Linux 64位架构安装Veil-Evasion
  13. html万花筒图片轮播代码,jQuery实现可拖拽3D万花筒旋转特效
  14. 教师使用计算机的能力提升,计算机专业教师教学能力提升途径
  15. html5设置视频显示第一帧,【前端】如何在video上显示视频的第一帧
  16. 记war exploded部署不成功
  17. 主动访问用户数据 ——被站长忽视的内容
  18. Linux 磁盘划分 LVM 逻辑分区管理步骤
  19. Excel+VBA+之快速上手
  20. 打包aab_手动安装Android .abb(bundletool 如何使用)(.aab安装)(GooglePlay测试)...

热门文章

  1. 大学电子竞赛及项目~总贴
  2. 一些计算机u口无法使用的原因,电脑USB接口不能使用的原因分析
  3. Singularity 代码阅读笔记[结构: Struct_Microsoft_Singularity_BootInfo]
  4. 计算机dns服务器错误或不存在,找不到服务器或 DNS 错误,详细教您找不到服务器或dns错误怎么解决...
  5. 子网掩码及其与IP地址、网关的关系
  6. matlab中eval函数保存图片,Matlab中eval函数的使用方法。
  7. PE文件加节感染之Win32.Loader.bx.V病毒分析
  8. 【转】 HMC与VIOS对新LPAR提供存储与网络虚拟化的支持
  9. 英谷Oracle答案,火焰纹章风花雪月各角色能学什么魔法 各角色可习得魔法与熟练度要求一览...
  10. Android Studio 连接手机进行调试