C++中引用的基础知识

》引用

        引用是个别名,建立时须用另一个数据对象(如一个变量)的名字进行初始化,以指定该引用所代表的数据对象。此后,对引用的任何操作实际上就是对所代表的数据对象的操作。系统不会为引用再次分配存储空间。

        在类型名后面跟引用运算符“ & ”,以及引用名来创建一个引用。引用名就是一个变量名。

        例:    int i=1;

                    int& r=i;         // r和i现在引用同一个int对象

                    int x=r;           // x=1

                     r=2;               // i=2

        声明r初始化为对i的引用。在此,要求i已经声明或定义,而引用仅仅是它的别名。因此,引用并不占用额外的存储空间。

        注:引用运算符与地址操作符使用相同的符号(即运算符重载),但它们的含义不一样。引用运算符只在声明变量的时候使用,它放在类型名的后面。

                任何其他一元(单目)运算符 & (注意,该运算符作为二元运算符时为按位“ 与 ”运算符)的使用都是地址运算符。

                使用引用时应遵循一定的规则:

                         >创建引用时,必须立即对其进行初始化(指针则可以在任何时候被初始化)

                         >一旦一个引用被初始化为一个对象的引用,它就不能在被改变为对另一个对象的引用(指针则可以在任何时候改变为指向另一个对象)

                         >不可能有NULL引用。必须确保引用是对具体合法的对象的引用(即引用应和一块合法的存储空间关联)


》用引用传递函数参数

         引用的一个重要用途就是作为函数的参数。如果有占用空间大的对象(例如一个大的结构对象或类对象)需要作为函数参数传递的时候,在C语言中的做法往往是使用指针,因为这样可以避免将整个实参对象的数据全部复制给形式参数,可以提高程序的执行效率。而在C++中,由于引入了引用的概念,因此既可以使用指针,亦可以用引用来做同样的事情。引用作为参数的最大好处是既可以像指针那样工作,其使用方式又和一般的变量相同。所以引用比指针具有更好的可读性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值