博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++引用(2) - 引用能否指向一个无效地址?
阅读量:4071 次
发布时间:2019-05-25

本文共 349 字,大约阅读时间需要 1 分钟。

在C++中, 引用比指针更安全,是因为引用变量必须被初始化并且初始化后不能再引用别的对象。但是也有下面的这几种例外情况:
 
1)引用的对象是一个未初始化的指针
int main(){    int* ptr;    int& ref = *ptr;  //引用的是内存中一块随机值    return 0;}

需要说明的是:使用visual studio 2015进行编译时,能发现这个问题。会提示“使用了未初始化的局部变量“ptr””这种编译错误。

不过, g++4.8.5是可以正常编译的。

 

2)引用的是一个返回的局部变量

int& fun(){   int a = 10;   return a;}

一旦fun()返回后,在栈内存上给变量a分配的空间会被回收。这种情况下对局部变量的引用会失效。

转载地址:http://omeji.baihongyu.com/

你可能感兴趣的文章
cell上label的背景颜色在选中状态下改变的解决办法
查看>>
GPS定位
查看>>
地图、显示用户位置、大头针
查看>>
自定义大头针
查看>>
UIButton添加block点击事件
查看>>
利用runtime给类别添加属性
查看>>
iOS使用支付宝支付步骤
查看>>
本地推送
查看>>
远程推送
查看>>
访问系统相册
查看>>
FMDB的使用
查看>>
UIImage存为本地文件与UIImage转换为NSData
查看>>
通知的使用
查看>>
KVC与KVO
查看>>
NSThread
查看>>
NSOperation
查看>>
GCD
查看>>
coreData的使用
查看>>
URL里汉字转码
查看>>
NSURLConnection的简单使用
查看>>