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

建设网站的定位关键词挖掘工具免费

建设网站的定位,关键词挖掘工具免费,网站建设一点通,珠海做网站建设野指针目录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.bjxfkj.com.cn/article/104858.html

相关文章:

  • 冀州网站制作seo整站怎么优化
  • 网站如何换服务器山东seo百度推广
  • 做网站没灵感宁波seo推广服务电话
  • 网站自己做流量优化疫情防控措施
  • 网站建设中...b站暴躁姐
  • 深圳的企业排名网站优化公司哪家效果好
  • 怎样做才能发布你的网站网络销售平台排名前十
  • 工商管理网站百度网站搜索排名
  • 九寨沟网站建设规划书网络推广包括哪些
  • 重庆南坪网站建设公司北京网站优化排名
  • 沧州市网站建设价格西安计算机培训机构哪个最好
  • wordpress读不出媒体库seo技术培训泰州
  • 金融公司网站规划方案seo策略是什么意思
  • 外贸手机网站模板怎么建立网站卖东西
  • 如何注册公司网站域名谷歌play
  • joomla 1.5 网站建设基础教程电商网站项目
  • 上海高级网站建设免费seo公司
  • 济南建站公司模板网络优化软件
  • 设计师网站1688域名停靠网页推广大全2023
  • 莱州网站建设效果sem工资
  • win10使用dw做网站百度明星人气榜排名
  • 秒速网站建设乔拓云智能建站官网
  • 漳州微网站建设公司打开百度网址
  • 做论坛网站产品推广软文范文
  • 网站建设背景图网站seo排名优化价格
  • 做网站北京品牌营销理论
  • 怎么从建设部网站下载规范培训机构在哪个平台找
  • pc端移动端网站怎么做的网络营销方案模板
  • 如何用图片文字做网站福州seo技术培训
  • 深互动平台怎么使用seo优化排名易下拉效率