设为首页 加入收藏

TOP

指针使用经验总结之悬垂指针
2014-11-23 21:26:52 来源: 作者: 【 】 浏览:15
Tags:指针 使用 经验 总结

  如果将作用域A的变量地址赋给在作用域B的变量指针。当A中相应变量的生存周期结束后,会使B的指针出现“悬垂指针”的现象(悬垂指针指向曾经存放对象的内存,但该对象已经不再存在了。悬垂指针往往导致程序错误,而且很难检测出来。)如下代码:


  #include


  #include


  using namespace std;


  int *p=NULL;


  void fun()


  {


  int i=10;


  p=&i;


  }


  void main()


  {


  fun();


  cout<<"*p= "<<*p<


  Sleep(1000);


  cout<<“一秒钟后,fun()中的i变量的存储空间被释放,p所指对象的值为:"<


  }


  输出为:


  *p= 10


  一秒钟后,fun()中的i变量的存储空间被释放,p所指对象的值为:


  *p= 1245056


  Press any key to continue


  可见,fun()运行完一秒钟后,p成为悬垂指针。


  编辑特别推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇指针变量作为函数参数的一点用法 下一篇慎用CMFCToolBar::CreateEx

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: