[英]Type change in rvalue reference
我可以知道为什么这段代码是有效的。谢谢。
double i=5;//int i=5 will invalidate this piece of code
int && r1=i;
std::cout<<r1<<std::endl;
[dcl.init.ref] / 1宣布为一个的变量
T&
或T&&
,即,“参考输入T
”(8.3.2),应以一个对象,或功能来初始化类型的,T
或通过可以转换为T
。[dcl.init.ref] / 5类型“
cv1 T1
”的引用由类型为“cv2 T2
”的表达式初始化,如下所示:...
(5.2.2.2) - 如果
T1
是非类类型,则创建临时类型为“cv1 T1
”并从初始化表达式复制初始化(8.5)。 然后将引用绑定到临时。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.