引用和指针在汇编层面的实现方式是一样的,都是传递一个内存块(对象)的地址。
在C语言的层面上,引用和[指针常量]非常相似(大多数编译器确实用指针常量实现的引用,但这没有标准这么定义就不能说引用就是指针常量实现的)。
但是引用作为一个C++的高级语言特性,我们正确的做法是从高级语言的层面上去理解它。即引用是一个对象的“别名”,并且引用可以作为函数的形参传递。
C++在C语言的基础上引入了引用的概念,其目地是使指针这种高效的传递方式使用起来更加规范化和安全。指针的使用相当灵活,程序员对它的操作权限无限的大,以至于可以引发很多内存安全问题。引用不同,在一个引用的生命周期里编译器对它的行为都进行了全面的监控(不能重新赋值等)。
所以我认为引用就是为了更加安全和方便的使用指针类操作设计的。
C++中引用和指针的区别
最新推荐文章于 2022-05-05 11:54:01 发布