[英]C++ Primer exercise 2.27 [5th ed.]
我正在从C ++入门手册第5版进行练习2.27,对此问题感到困惑:
练习:以下哪些初始化是合法的? 解释为什么。
(c)const int i = -1,&r = 0;
我得出的结论是r非法,因为这将与以下内容相同:
const int i = -1;
int &r = 0;
但是这个github回购建议(c)如下:
const int i = -1;
const int &r = 0;
因此,它与我的答案相矛盾,请提供正确的答案。
PS:我是C ++语言的初学者。
类型限定符( int
)和限定符( const
)属于声明中的所有声明符
const int i = -1, &r = 0;
因此,声明符i
和&r
具有类型说明符和限定符const int
。 而且你可能不写例如
int &r = 0;
因为临时对象(在这种情况下为表达式0)可能不会绑定到非恒定引用。
但是你可以写
int &&r = 0;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.