当前位置: 首页 > news >正文

怎么做自己的网站卖东西360浏览器下载

怎么做自己的网站卖东西,360浏览器下载,设计工作室 网站,用dw制作影视网站怎样做野指针目录1:定义2:野指针常见情形2.1 :未初始化的野指针2.2 所指的对象已经消亡2.3 指针释放之后未置空3:避免野指针1:定义 指向非法的内存地址的指针叫做野指针(Wild Pointer),也…

野指针目录

  • 1:定义
  • 2:野指针常见情形
    • 2.1 :未初始化的野指针
    • 2.2 所指的对象已经消亡
    • 2.3 指针释放之后未置空
  • 3:避免野指针

1:定义

指向非法的内存地址的指针叫做野指针(Wild Pointer),也叫悬挂指针(Danging Pointer),意为无法正常使用的指针。

2:野指针常见情形

2.1 :未初始化的野指针

出现野指针最典型的情况就是在定义指针变量之后没有对它进行初始化,如下面的程序。

#include<iostream>
using namespace std;
int main(){int* p;// 编译通过,运行时出错 error : Segment fault 信号错误cout << *p << endl;return 0;
}

2.2 所指的对象已经消亡

指针指向某个对象之后,当这个对象的生命周期已经结束,对象已经消亡后,仍然使用该指针访问该对象,那么将会出现运行时错误。

#include<iostream>
using namesoace std;
int* retAddr()
{int num = 10;return &num;
}
int main()
{int* p = NULL;p = retAddr();cout << &p << endl;cout << *p << endl;
}上面程序在编译在编译的时候,会报错
warning: address of local variable 'num' returned [-Wreturn-local-addr]
表示:函数内部定义的变量在函数结束时被释放掉,所以返回是找不到的。

2.3 指针释放之后未置空

  • 指针p被 free或者 delete之后,没有置为NULL,这就是让人误以为是一个合法指针p.
  • 对指针进行 free或者 delete只是把指针所指的空间释放掉,但并没有把指针本身置为空,此时指针指向的就是垃圾内存,所以释放后的指针应该立即置为NULL,防止产生野指针。
#include<iostream>
using namespace std;
int main()
{int* p = NULL;p = new int[10];delete p;cout << "p[0]:"<< p[0] << endl;
}打印结果: p[0]:13511344
很显然打印结果是一个随机值,因为此时指针所指的空间是一个垃圾内存,存放着随机值。

3:避免野指针

综述所知
野指针有时比较隐蔽,编译器不能发现,为了防止野指针带来的危害,开发人员应该注意以下事项。

  1. C++引入了引用机制,如果使用引用可以达到编程目的,那么可以不用使用指针,因为引用在定义的时候, 必须初始化,这样可以避免野指针的出现
  2. 如果一定要是使用指针, 那么需要在定义指针的时候,同步进行初始化操作,定义时将其置为NULL或者指向一个有名的变量。
  3. 对指针进行 free或者delete操作后,将其设置为 NULL。对于使用 free情况,常常定义一个宏或者函数 xfree来代替free置空指针。
#define xfree(x)  free(x);  x = NULL;
http://www.yayakq.cn/news/206496/

相关文章:

  • 域名交易网站源代码下载建仿网站
  • 济南 网站优化wordpress 建站视频
  • 建一个网站的价格养殖网站模板
  • wp网站打开太慢怎么做优化贵阳网站设计详细解读
  • 做服装外单的网站有哪些内容营销型网站建设制作
  • 做棋牌网站部门网站建设总结
  • 网站建设哪家性价比高运营培训班
  • 一元快速引流1000个方法seo网站关键词优化机构
  • 天津市城乡建设局网站网站建设报价费用是多少
  • 站长工具百度基本seo
  • 2021半夜好用的网站php网站后台登陆不了
  • 宁波营销网站建设南京溧水城市建设集团网站
  • 明港网站建设公司中文域名和网站的关系
  • 网站建设广州好网站你知道的
  • 广州网站优化方式搭建公司网站多少钱
  • 建设家具网站外包seo公司
  • 找兼职做网站建设域名是干嘛的
  • 网站模板 安全吗wordpress主题 m1
  • 网站制作一年多少钱微信小程序开发工具手机版
  • 论网站建设情况有什么有趣的网站
  • 简单的网站模板个人网站能做什么
  • 网站程序上传完网站内外链建设
  • 台州做网站哪家好苏州找网络公司建网站
  • 便宜网站开发培训做思维导图的在线网站
  • 宁波自助模板建站品牌设计公司介绍
  • 一起做网店 网站打不开wordpress火车采集
  • 贵阳做网站的公司有哪些海淀做网站好的公司
  • 公司网站文案推广怎么做做药品网站规划方案
  • 专业网站制作推广服务莱芜58同城招聘网最新招聘
  • 给网站做外链要注意哪些深圳网站制作公司深圳app开发