迷途指针,从百度百科上摘抄的,语言很幽默
迷途(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 # coding=utf-8 2 import xlrd 3 import xlwt 4 import requests 5 import re 6 import json 7 import os ...
- nodejs express搭建服务器(爬虫知乎精华帖,个人学习用)五 对提到的关键字(书名或者电影名)去百度百科上爬取介绍
var https = require('https'); var iconv = require('iconv-lite'); var cheerio = require('cheerio'); v ...
- Python-从百度百科上查找对应人名信息并整合下载到本地
最近因为需要整理学者信息,所以编写了个爬虫程序: 大致思路是这样啦,代码还没优化,先放着吧 #!/usr/bin/python #@Author: zhongshsh# 不能爬取表格 # 如果报错li ...
- 百度百科人物创建要求是什么,自己的人物简介怎么上百度百科
是不是每一个人都能创建一个人物百度百科词条,并不是,只有满足一定条件,才能成功把自己的人物简介上传到百度百科上(下面洛希爱做百科网会具体讲到条件). 对于不熟悉百科规则的人来说,自己做百科是一件极其困 ...
- python语言百度百科-Python 语言下数据驱动DDT的应用
数据驱动测试的含义: 在百度百科上的解释是: 数据驱动测试,即黑盒测试(Black-box Testing),又称为功能测试,是把测试对象看作一个黑盒子.利用黑盒测试法进行动态测试时,需要测试软件产品 ...
- “韩国泡菜源于中国”说引韩国教授抗议,要求修改词条,百度百科回应...
近日,有韩国教授向百度百科发邮件,就"泡菜"词条中"韩国泡菜源于中国"一表述表示抗议,并随信附上韩国泡菜的历史和文化等资料. 该韩国教授认为百度百科" ...
- 百度百科:游荡在中国的窃贼
在一年一度"消费者权益保护日",贾平凹.韩寒.郭敬明.李承鹏等50名作家联合一起声讨百度文库,称百度文库收录了上述作家几乎全部的作品,但却没有取得任何人的授权,指责百度已经彻底堕落 ...
- SEO优化之百度百科
我们都知道,作为一名SEOer在进行网站外链建设时,百度百科是其中重要的一环,也是我们进行网站优化一块难啃的骨头.它不仅仅是一个做高质量外链的平台,还是一个能够给网站带来流量的平台. 下面就把自己整理 ...
最新文章
- 单片机音频节奏灯_用C51写的单片机音乐彩灯程序
- MBProgressHUD 使用详解
- 张红忠:智慧化时代,如何通吃5G模组、AIoT?
- 任务流程管理,从繁杂的项目管理中解脱出来
- 洛谷P1832 A+B Problem(再升级)
- 小学计算机课型有哪几种,小学信息技术课上常用几种教学方法.doc
- 【控制】四旋翼无人机姿态角分析
- mysql中文时好时坏_mysql索引的问题,时好时坏
- OpenCV学习笔记之Mat
- sudo su 和 sudo -s区别
- 如何用计算机处理频谱,如何使用PicoScope PC示波器对CD播放器的音频频谱进行分析...
- IE下单单只设置背景透明度的解决方案
- openstack-O版-glance安装
- pr 导出视频 黑屏 或者 没有画面
- 91-Lucene+ElasticSeach核心技术
- 集成支付宝,跳转到支付宝后显示的不是支付页面
- 好心情:跌落凡间的星星天使,爱终将弥补一切
- 用于商用微处理器的快速位收集、位分散和位置换指令(一)
- Quartz任务调度——快速入门
- EndPoint详解
热门文章
- MYSQL中LIMIT用法_后台分页
- ab -压测模拟并发的工具
- ActiveMQ入门教程(二) - ActiveMQ的安装
- FusionCharts下载地址汇总及更新介绍
- cf relevent R package
- System.Transactions深入了解
- 关于“托管代码”和“非托管代码”
- 新概念英语第一册1-34课单词
- .Net转Java自学之路—基础巩固篇十八(正则)
- HDU 2444 The Accomodation of Students (二部图+染色)