[转载]深刻探讨C++中的引用

摘要:介绍C++引用的基本概念,经过详细的应用分析与说明,对引用进行全面、透彻地阐述。

关键词:引用,const,多态,指针

引用是C++引入的新语言特性,是C++经常使用的一个重要内容之一,正确、灵活地使用引用,可使程序简洁、高效。我在工做中发现,许多人使用它仅仅是想固然,在某些微妙的场合,很容易出错,究其起因,大多由于没有搞清本源。故在本篇中我将对引用进行详细讨论,但愿对你们更好地理解和使用引用起到抛砖引玉的做用。

引用简介

引用就是某一变量(目标)的一个别名,对引用的操做与对变量直接操做彻底同样。

引用的声明方法:类型标识符 &引用名=目标变量名;

【例1】:int a; int &ra=a; //定义引用ra,它是变量a的引用,即别名

说明:

(1)&在此不是求地址运算,而是起标识做用。

(2)类型标识符是指目标变量的类型。

(3)声明引用时,必须同时对其进行初始化。

(4)引用声明完毕后,至关于目标变量名有两个名称,即该目标原名称和引用名,且不能再把该引用名做为其余变量名的别名。

ra=1; 等价于 a=1;

(5)声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它自己不是一种数据类型,所以引用自己不占存储单元,系统也不给引用分配存储单元。故:对引用求地址,就是对目标变量求地址。&ra与&a相等。

(6)不能创建数组的引用。由于数组是一个由若干个元素所组成的集合,因此没法创建一个数组的别名。

引用应用

一、引用做为参数

引用的一个重要做用就是做为函数的参数。之前的C语言中函数参数传递是值传递,若是有大块数据做为参数传递的时候,采用的方案每每是指针,由于这样能够避免将整块数据所有压栈,能够提升程序的效率。可是如今(C++中)又增长了一种一样有效率的选择(在某些特殊状况下又是必须的选择),就是引用。

【例2】:

void swap(int &p1, int &p2) //此处函数的形参p1, p2都是引用
{ int p; p=p1; p1=p2; p2=p; }

为在程序中调用该函数,则相应的主调函数的调用点处,直接以变量做为实参进行调用便可,而不须要实参变量有任何的特殊要求。如:对应上面定义的swap函数,相应的主调函数可写为:

main( )
{
int a,b;
cin>>a>>b; //输入a,b两变量的值
swap(a,b); //直接以变量a和b做为实参调用swap函数
cout<}

上述程序运行时,若是输入数据10 20并回车后,则输出结果为20 10。
html

阅读全文
类别: c/c++  查看评论
相关文章
相关标签/搜索