指针和引用的区别
2016-04-04 16:10
309 查看
看着很多人对指针和引用都模糊不清今天我自己探索了一下啊 .........................
引用和指针都是地址的概念,引用是一个内存对象的别名,指针指向一个内存对象,保存了这个对象的内存地址。
区别:
1.引用不能为空,即不存在对空对象的引用,指针可以为空,指向空对象。
2.引用必须初始化,指定对哪个对象的引用,指针不需要。
3.引用初始化后不能改变,指针可以改变所指对象的值。
4.引用访问对象是直接访问,指针访问对象是间接访问。
5.引用的大小是所引用对象的大小,指针的大小,是指针本身大小,通常是4字节。
上边的所有都是冠冕堂皇的话,是没有错,但是这些都是编译器蒙上的一层纱
下来揭开这个纱看本质
引用本质上不是别名但是大家可以在现实中理解为别名,没有错的
站在编译器的角度不是别名,但是站在程序员的角度上,就是别名 ,理解一下欧.......... :>
引用和指针都是地址的概念,引用是一个内存对象的别名,指针指向一个内存对象,保存了这个对象的内存地址。
区别:
1.引用不能为空,即不存在对空对象的引用,指针可以为空,指向空对象。
2.引用必须初始化,指定对哪个对象的引用,指针不需要。
3.引用初始化后不能改变,指针可以改变所指对象的值。
4.引用访问对象是直接访问,指针访问对象是间接访问。
5.引用的大小是所引用对象的大小,指针的大小,是指针本身大小,通常是4字节。
上边的所有都是冠冕堂皇的话,是没有错,但是这些都是编译器蒙上的一层纱
下来揭开这个纱看本质
引用本质上不是别名但是大家可以在现实中理解为别名,没有错的
站在编译器的角度不是别名,但是站在程序员的角度上,就是别名 ,理解一下欧.......... :>
相关文章推荐
- Android开发:Eclipse中Ctrl+O快捷键显示该java文件中所有变量及方法
- 121.沙子合并
- 重写和重载
- Android socket 实现 wify 通信,简易聊天室 (一)
- C++对C语言的扩充
- 326. Power of Three
- codeforce 474D Flowers
- 进程间通信
- iOS之通过NSOutputStream大文件下载
- 面试题8 旋转数组的最小数字
- Java集合框架之Set--HashSet源码分析
- 利用贝塞尔曲线实现小球曲线运动
- Fibonacci(POJ3070)
- Linux USB 驱动开发(四)—— 热插拔那点事
- 对URL的使用
- MySQL 使用方法简单教程
- Tcl -- split/join
- PHP开源框架Laravel的安装与配置
- 114. Flatten Binary Tree to Linked List
- Oracle12c功能增强 新特性之管理功能的增强