引用问题

[复制链接]
 楼主| 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

粉丝
快速回复 在线客服 返回列表 返回顶部