在函数返回值需要使用到强制类型转换时,最好使用指针,光使用引用不保险
来源:互联网 发布:大闹天宫化身6进7数据 编辑:程序博客网 时间:2024/06/09 20:55
这两天发现Android中java上层传递下来的ISurface,我在底层居然画不出图像,但是如果我在底层自己创建ISurface却是可以的...
这让我和我同事纠结无比,四处找原因...
由于这个现象很像是因为上层传递下来的ISurface并不是上层所管理的那一个...所以我把怀疑方向放在了接口传递参数的时候...当然了,现在看来我所遇到的这个问题并非接口传递参数导致的.
其中很多地方有返回sp<T>& 的函数调用,并且返回值又是一个强制类型转换的结果,所以我不得不细细研究了一下引用.
运行结果:
dd=20,dd:0xbf979850
tt=20,tt:0xbf979820 //这里地址就不一样了!
p=20,p:0xbf979820
果然证实了强制类型转换会产生临时变量的说法...但是传指针就不会有这样的问题,包括指针的引用也不会
传指针
运行结果:
dd=20,dd:0xbf9a3880
tt=20,tt:0xbf9a3880
p=20,p:0xbf9a3880
传指针的引用
运行结果:
dd=20,dd:0xbfa23100
tt=20,tt:0xbfa23100
p=20,p:0xbfa23100
- 在函数返回值需要使用到强制类型转换时,最好使用指针,光使用引用不保险
- 数据类型不匹配时最好使用强制类型转换
- C函数,函数指针,函数类型,函数数组,函数强制转换使用
- 成员函数指针和其他类型的强制转换,使用一般指针调用成员函数
- 对引用和指针使用以及函数返回引用和指针类型的理解
- 对引用和指针使用以及函数返回引用和指针类型的理解
- 对引用和指针使用以及函数返回引用和指针类型的理解
- 使用引用返回函数值
- 强制类型转换使用时的注意事项
- 为何使用dynamic_cast转换类指针时,需要虚函数?
- 函数返回值是否使用引用类型的问题:理解引用、返回值
- Android解决使用findViewById时需要对返回值进行类型转换问题的辅助类
- Android解决使用findViewById时需要对返回值进行类型转换问题的辅助类
- Android解决使用findViewById时需要对返回值进行类型转换问题的辅助类
- Android解决使用findViewById时需要对返回值进行类型转换问题的辅助类
- C语言中malloc函数返回值是否需要类型强制转换问题
- C语言中malloc函数返回值是否需要类型强制转换问题
- C语言中malloc函数返回值是否需要类型强制转换问题
- 苹果也启动了今年度的“苹果设计奖”
- Linux Driver 基本架构
- swing学习笔计2
- iPhone 5将近引发清货猜疑
- 得到android系统的当前时间
- 在函数返回值需要使用到强制类型转换时,最好使用指针,光使用引用不保险
- C# 中的委托和事件
- Java操作正则表达式
- TCHAR ,UNICODE,CHAR,wchar_t 来龙去脉!
- jquery实现多标签折页
- VC中连接mdb数据库及其数据读取方法
- 亚马逊周二正式推出了云音乐服务Cloud Player
- glPushMatrix();glPopMatrix();以及glMatrixMode的用法
- 对于SAP中ABAP国际化问题的一点经验