引用的主要用途:修饰函数的形参和返回值。
- 引用没有空引用的概念,指针有。
- 没有引用的引用,指针有二级指针,三级指针。
- 引用必须初始化 指针不一定,但是最好初始化,防止野指针,
- 引用加一,是引用实体加一,而指针是向后偏移一个类型的大小。
- 引用只是变量的别名,指针就是内存地址空间,指针变量是存放变量的地址。
- 指针占空间的大小都是四字节,而引用所占空间和所引用的变量共享。
- 引用比指针更安全。
- 值传递
- 指针传递
- 引用传递(引用拥有指针的效率,又有变量的直观性)
- 在语言层面:引用的用法和对象一样,
- 在二进制层面,引用的一般都是由指针实现,只不过是编译器帮我们实现,
引用的反汇编和指针的反汇编是一样。
底层实现:引用通过指针来实现,
引用是别名,不是指针,没有发生拷贝(目前可以认为引用是指针的一层封装,更加简单化的指针)
在语法上,引用只是一个别名,和变量共享空间,但是在底层实际上是有空间的,因为引用是按照指针的方式实现的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)