打印

引用问题

[复制链接]
864|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yybj|  楼主 | 2013-10-28 21:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
C++ Primer P51 上说

“不能定义引用类型的引用,但可以定义任何其他类型的引用。”

这句话该怎么理解,是指不能定义已经是引用的引用吗?比如下面代码:
int val = 25;
int &refval = val; // refval是val的引用
int &refval2 = refval; // refval2是refval的引用,引用的引用
refval--;
cout << val << endl;
refval2--;
cout << val << endl;
编译发现通过,意思是可以这样使用,那就是我理解出错了,求解释,谢谢!

相关帖子

沙发
火箭球迷| | 2013-10-28 21:26 | 只看该作者
int val = 25;
int &refval = val; // refval是val的引用
// 引用的引用这样定义
int&& refRefVal;  // 这样就是不可以的了
在C++11里面这样写叫做右值引用(move语意),可以做函数参数,这是题外话了,和引用的引用没有关系

使用特权

评论回复
板凳
xsgy123| | 2013-10-28 21:34 | 只看该作者
你这不叫引用的引用!
只不过给同一个变量写了两个引用而已。
引用的引用正确的是2楼的:int&& refRefVal;

使用特权

评论回复
地板
秋天落叶| | 2013-10-28 21:43 | 只看该作者
efval2不是refval的引用,是val的引用
你永远无法创建refval的引用

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

175

主题

2496

帖子

1

粉丝