设为首页 加入收藏

TOP

3.1.4 常引用
2013-10-07 16:20:33 来源: 作者: 【 】 浏览:77
Tags:3.1.4 引用

3.1.4  常引用

使用const修饰符可以说明引用,被说明的引用为常引用。其定义格式如下:

  1. const 数据类型 & 引用名; 

例如:

  1. int x=2;  
  2. const int &n=x;  

其中,n是一个整型变量的常引用,不能通过该常引用更新对象。如:

  1. n++;         //错误 

但执行x++是正确的。

在实际应用中,常引用往往用作函数的形参,这样该函数中不能更新该参数所引用的对象,从而保护实参不被修改。

例如,有以下程序:

  1. #include <iostream.h> 
  2. class Sample  
  3. {   int n;  
  4. public:  
  5.     Sample(int i) {   n=i; }  
  6.     int getn() const {  return n; }  
  7. };  
  8. int add(const Sample &s1,const Sample &s2)  
  9. {   int sum=s1.getn()+s2.getn();  
  10.     return sum;  
  11. }  
  12. void main()  
  13. {   Sample s1(100),s2(200);  
  14.     cout << "sum=" << add(s1,s2) << endl;  
  15. }  

本程序的执行结果如下:

  1. sum=300 

只有常成员函数才能操作常数据成员,没有使用const关键字说明的成员函数不能用来操作常数据成员。上述程序中的getn被说明为常成员函数,因此,它可以对常引用s1和s2进行操作,如果不将getn函数说明为常成员函数,则以下语句:

  1. int sum=s1.getn()+s2.getn(); 

出现如下的编译错误:

  1. 'getn' : cannot convert 'this' pointer from 'const class Sample' to 'class Sample &' Conversion loses qualifiers 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇3.1.3 引用返回值 下一篇3.2.1 单项选择题

评论

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

·用 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)