c++ 引用
来源:互联网 发布:淘宝卖家怎么快速升心 编辑:程序博客网 时间:2024/06/05 16:26
实质
实质上就是一个常量指针
void * const p;
例如:
int a = 2;int &p = a;
等价于
int* const p = &a;
看下面的例子:
float a = 0.0;float b = 1.0;cout << (int &) a << endl;cout << (int &) b << endl;
运行结果?
运行结果?
运行结果?
01065353216(即0x3F80 0000)
原因是:
(int &) a ---->> *((int* const)&a)
要强制转换为int &类型引用时,要先取a的地址&a,这时的地址类型是float型的; 然后才能进行强制转化为int型,最后再取出该地址内中的内容。
由于float和int在内存中的存储方式不同,因此打印出来会不同。当然,0在内存中不论是float(4bytes)还是int(4bytes)内存空间都是保存的0,因此结果还是为0;然而1.0在内存中保存的方式就不同咯,具体还要看标准了。
0 0
- 引用(c++)
- C++----引用
- c++-引用
- C ++ 引用
- 【c++】引用
- 【c++】引用
- C++:引用
- C++:引用
- C/C++:C++引用
- 【c/c++】const引用
- 【C/C++】c++弱引用 强引用
- 枚举 c#(引用)
- 数组引用(C++)
- C++_引用
- c语言中的引用
- (Linux,c++)引用
- 引用(C++)
- objective-c 引用计数
- OSX下Jenkins安装
- android弹出框之.showAsDropDown(View anchor, int xoff, int yoff):PopupWindow使用详解
- 最近看了很多新闻只愿中华无恙
- commitAllowingStateLoss()
- Java 程序员们值得一看的好书推荐
- c++ 引用
- Java格式化UTC格式时间
- iOS的快捷键使用陆续整理
- rest @PathParam
- 【奔跑的菜鸟】Java中的引用传递
- Linux系统编程手册 文件I/O缓冲
- iOS 警告合集
- Bootstrap模态对话框
- arcengine中的几何镜像