请输入您要查询的百科知识:

 

词条 悬垂指针
释义

定义

指向曾经存在的对象,但该对象已经不再存在了,此类指针称为垂悬指针。结果未定义,往往导致程序错误,而且难以检测。

例子

#include<iostream>

#include <windows.h>

using namespace std;

int *p=NULL;

void fun()

{

int i=10;

p=&i;

}

void main()

{

fun();

cout<<"*p= "<<*p<<endl;

Sleep(1000);

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

}

输出为:

*p= 10

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

*p= 1245056

Press any key to continue

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

避免方法

引入智能指针可以防止垂悬指针出现。一般是把指针封装到一个称之为智能指针类中,这个类中另外还封装了一个使用计数器,对指针的复制等操作将导致该计数器的值加1,对指针的delete操作则会减1,值为0时,指针为NULL

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/7 19:29:57