Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2971735
  • 博文数量: 412
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 7374
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-25 15:15
个人简介

学习是一种信仰。

文章分类

全部博文(412)

文章存档

2014年(108)

2013年(250)

2010年(11)

2009年(43)

我的朋友

分类: C/C++

2014-01-23 08:52:07

1C++ 中,reference在很多方面与指针(pointer)具有同样的能力。

2Pointer 和reference的最大不同是:pointer必须使用一个星号操作符“*”来去引用(dereference)而reference不需要任何操作符来去引用。

例如:int i = 0;

      int* pi = &i;//定义pii的指针

      int& ri = i;//定义rii的引用

      *pi = 1;//指针需要用“*”去引用,把i的值变为

      ri = 2;//引用不用去引用,直接把i的值变为2       

3引用常用于函数参数或返回值,特别是在运算符重载时;比指针易读;

4References vs. const pointers

C++ 中不允许定义“const reference”, 因为一个reference天生就是const。也就是说,一旦将一个reference绑定到一个对象,就无法再将它重新绑定到另一个不同的对象。在声明一个reference之后没有写法可以将它重新绑定到另外一个对象。  

阅读(1269) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~