设为首页 加入收藏

TOP

3.1.1 引用的概念
2013-10-07 16:20:41 来源: 作者: 【 】 浏览:75
Tags:3.1.1 引用 概念

第3章  引用

本章学习要点

深入掌握引用的相关概念和使用方法。

深入掌握常引用的相关概念和使用方法。

灵活运用引用的相关知识进行综合程序设计。

3.1  基本知识点

3.1.1  引用的概念

引用是一个别名。当建立引用时,程序用另一个已定义的变量或对象(目标)的名字初始化它。从那时起,引用作为目标的别名而使用,对引用的改动实际上就是对目标的改动。

建立引用的一般格式如下:

  1. 数据类型 & 引用名=已定义的变量名; 

例如,以下语句说明rd是对double型数的引用,初始化为引用d:

  1. double d;  
  2. double &rd=d; 

引用具有如下特点:

引用能够使用任何合法变量名。

引用不是变量,引用必须初始化。

引用不是值,不占存储空间。声明引用时,目标的存储状态不会改变。所以引用只有声明,没有定义。

引用只有在声明时带有"&",以后就像普通变量一样使用,不能再带"&"。

引用主要用作函数参数。

例如,有以下程序:

  1. #include <iostream.h> 
  2. void main()  
  3. {   int n=100;  
  4.     int &rn=n;  
  5.     n++;  
  6.     cout << "n=" << n << endl;  
  7.     cout << "rn=" << rn << endl;  
  8.     rn++;  
  9.     cout << "n=" << n << endl;  
  10.     cout << "rn=" << rn << endl;  
  11. }  

该程序中说明rn是n的引用,因此,rn和n的值完全同步操作,其执行结果如下:

  1. n=101 
  2. rn=101 
  3. n=102 
  4. rn=102 

由于指针也是变量,所以也可以引用指针变量。其使用格式如下:

  1. 数据类型 * &指针引用名=指针 

同样,先要定义"指针",它是基类型为"数据类型"的指针变量。例如,有以下程序:

  1. #include <iostream.h> 
  2. void main()  
  3. {   int n=10,*pn=&n,*&rn=pn;  
  4.     (*pn)++;  
  5.     cout << "n=" << n << endl;  
  6.     (*rn)++;  
  7.     cout << "n=" << n << endl;  
  8. }  

该程序中,指针pn指向n,rn是pn的引用,执行(*pn)++;使n值增1,同样,执行(*rn)++;使n值增1。其执行结果如下:

  1. n=11 
  2. n=12 

并不是对任何类型的数据都可以引用,在下列情况下不能进行引用:

对void进行引用是不允许的。

不能建立引用的数组。

没有引用的引用。

引用不能用类型来初始化,例如,int &rn=int;是错误的。

没有空引用(空引用没有任何意义)。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇新编C++语言习题与解析 目录 下一篇3.1.2 引用作为函数参数

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·用 Python 进行数据 (2025-12-25 15:49:09)
·如何学习Python数据 (2025-12-25 15:49:07)
·利用Python进行数据 (2025-12-25 15:49:04)
·Java 学习线路图是怎 (2025-12-25 15:19:15)
·关于 Java 学习,有 (2025-12-25 15:19:12)