迷途(stray)指针,也被称为野(wild)指针或悬浮(dangling)指针,是指将delete 用于指针(从而释放它指向的内存),但没有将它设置为空时引发。如果随后你在没有重新赋值的情况下使用该指针,后果将是不可预料的:程序崩溃算你走运。

  这个程序故意创建了一个迷途指针:

  typedef unsigned short int USHORT;

  #include <iostream>

  int main ()

  {

  USHORT *pInt = new USHORT ;

  *pInt = 10 ;

  std::cout << "pInt:" << *pInt << std::endl ;

  delete pInt ;

  long *pLong = new long ;

  *pIong = 90000 ;

  std::cout << "*pLong:" << *pLong << endl ;

  *pInt = 20 ;

  std::cout << "pInt:" << *pInt << std::endl ;

  *pInt = 20 ;

  std::cout << "*pInt:" << *pInt << endl ;

  std::cout << "*pLong:" << *pInt << endl;

  delete pLong ;

  return 0 ;

  }

  输出:

  *pInt:10

  *pLong:90000

  *pInt:20

  *pInt :65556

  pInt声明为一个USHORT指针,并将其指向使用new分配的内存,将10存储到pInt指向的内存中,对指针使用delete后,pInt将成为一个迷途指针。

  接着声明了一个新的指针pLong,它指向new分配的内存,将90000存储到pLong指向的内存中。它指向的是pInt原来指向的内存块,带来麻烦的是 pInt = 20,它将20赋值到pInt原先指向的内存,(pInt被释放后不再指向任何合法的内存,它仍可能指向原来的内存块)将覆盖pLong指向的内存。这被称为重踏指针,它通常是使用迷途指针产生的不幸后果。

  总之。对指针使用delete后就不要再使用它。虽然这个指针仍指向原来的内存区域,但编译器可能已经将其他数据存储在这里。不重新给这个指针复制就再次使用它可能导致程序崩溃;更糟糕的是,程序可能表面上运行正常但是过不了几分钟后就崩溃了。这被称为定时炸弹,可不是好玩的。为了安全起见,删除指针后,

  把其设置为空.这样便解除了它的武装。

迷途指针,从百度百科上摘抄的,语言很幽默相关推荐

  1. 怎么做品牌百度百科,品牌信息怎么上传到百度百科上

    不少品牌想将关于品牌的介绍信息上传到百度百科,但是创建品牌百度百科却屡屡受挫,品牌百度百科一直创建不上去,下面洛希爱做百科网分享下品牌信息怎么上传到百度百科上. 只要有营业执照的企业和注册了商标的品牌 ...

  2. 爬取百度百科上中国所有城市的信息

    1 # coding=utf-8 2 import xlrd 3 import xlwt 4 import requests 5 import re 6 import json 7 import os ...

  3. nodejs express搭建服务器(爬虫知乎精华帖,个人学习用)五 对提到的关键字(书名或者电影名)去百度百科上爬取介绍

    var https = require('https'); var iconv = require('iconv-lite'); var cheerio = require('cheerio'); v ...

  4. Python-从百度百科上查找对应人名信息并整合下载到本地

    最近因为需要整理学者信息,所以编写了个爬虫程序: 大致思路是这样啦,代码还没优化,先放着吧 #!/usr/bin/python #@Author: zhongshsh# 不能爬取表格 # 如果报错li ...

  5. 百度百科人物创建要求是什么,自己的人物简介怎么上百度百科

    是不是每一个人都能创建一个人物百度百科词条,并不是,只有满足一定条件,才能成功把自己的人物简介上传到百度百科上(下面洛希爱做百科网会具体讲到条件). 对于不熟悉百科规则的人来说,自己做百科是一件极其困 ...

  6. python语言百度百科-Python 语言下数据驱动DDT的应用

    数据驱动测试的含义: 在百度百科上的解释是: 数据驱动测试,即黑盒测试(Black-box Testing),又称为功能测试,是把测试对象看作一个黑盒子.利用黑盒测试法进行动态测试时,需要测试软件产品 ...

  7. “韩国泡菜源于中国”说引韩国教授抗议,要求修改词条,百度百科回应...

    近日,有韩国教授向百度百科发邮件,就"泡菜"词条中"韩国泡菜源于中国"一表述表示抗议,并随信附上韩国泡菜的历史和文化等资料. 该韩国教授认为百度百科" ...

  8. 百度百科:游荡在中国的窃贼

    在一年一度"消费者权益保护日",贾平凹.韩寒.郭敬明.李承鹏等50名作家联合一起声讨百度文库,称百度文库收录了上述作家几乎全部的作品,但却没有取得任何人的授权,指责百度已经彻底堕落 ...

  9. SEO优化之百度百科

    我们都知道,作为一名SEOer在进行网站外链建设时,百度百科是其中重要的一环,也是我们进行网站优化一块难啃的骨头.它不仅仅是一个做高质量外链的平台,还是一个能够给网站带来流量的平台. 下面就把自己整理 ...

最新文章

  1. 单片机音频节奏灯_用C51写的单片机音乐彩灯程序
  2. MBProgressHUD 使用详解
  3. 张红忠:智慧化时代,如何通吃5G模组、AIoT?
  4. 任务流程管理,从繁杂的项目管理中解脱出来
  5. 洛谷P1832 A+B Problem(再升级)
  6. 小学计算机课型有哪几种,小学信息技术课上常用几种教学方法.doc
  7. 【控制】四旋翼无人机姿态角分析
  8. mysql中文时好时坏_mysql索引的问题,时好时坏
  9. OpenCV学习笔记之Mat
  10. sudo su 和 sudo -s区别
  11. 如何用计算机处理频谱,如何使用PicoScope PC示波器对CD播放器的音频频谱进行分析...
  12. IE下单单只设置背景透明度的解决方案
  13. openstack-O版-glance安装
  14. pr 导出视频 黑屏 或者 没有画面
  15. 91-Lucene+ElasticSeach核心技术
  16. 集成支付宝,跳转到支付宝后显示的不是支付页面
  17. 好心情:跌落凡间的星星天使,爱终将弥补一切
  18. 用于商用微处理器的快速位收集、位分散和位置换指令(一)
  19. Quartz任务调度——快速入门
  20. EndPoint详解

热门文章

  1. MYSQL中LIMIT用法_后台分页
  2. ab -压测模拟并发的工具
  3. ActiveMQ入门教程(二) - ActiveMQ的安装
  4. FusionCharts下载地址汇总及更新介绍
  5. cf relevent R package
  6. System.Transactions深入了解
  7. 关于“托管代码”和“非托管代码”
  8. 新概念英语第一册1-34课单词
  9. .Net转Java自学之路—基础巩固篇十八(正则)
  10. HDU 2444 The Accomodation of Students (二部图+染色)