您的位置:首页 > 编程语言 > C语言/C++

C++中引用的基础知识

2017-04-17 20:36 302 查看
》引用

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

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

        例:    int i=1;

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

                    int x=r;           // x=1

                     r=2;               // i=2

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

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

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

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

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

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

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

》用引用传递函数参数

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