请问C++课本中的一句话,设置一个类型为auto的引用时,初始值的顶层常量属性仍然保留。和往常一样

请问C++课本中的一句话,设置一个类型为auto的引用时,初始值的顶层常量属性仍然保留。和往常一样,如果我们给初始值绑定一个引用,则此时的常量就不是顶层常量了。这是怎么意... 请问C++课本中的一句话,设置一个类型为auto的引用时,初始值的顶层常量属性仍然保留。和往常一样,如果我们给初始值绑定一个引用,则此时的常量就不是顶层常量了。 这是怎么意思,前后两句似乎矛盾 展开
 我来答
zjfaok
2015-11-23 · TA获得超过6807个赞
知道大有可为答主
回答量:4146
采纳率:62%
帮助的人:1625万
展开全部
这翻译真难看懂……原因之一大概是强行把const译成“常量”。不过不管怎么说,英文书大概远比这易懂……

嘛,以上是无关的吐槽。相比于自然语言,代码更能反映意思
const int x = 1;
auto& y = x; // y的类型是const int&
另一个就是不存在const引用
auto &const z = y; //不可能

如果对type traits有一点了解的话,还可以写出如下断言
static_assert(std::is_same<decltype(y),const int&>::value);
static_assert(false == std::is_const<decltype(y)>::value);
更多追问追答
追问
多谢您的回答,不过还是只看懂了一半,第二句是说给初始值绑定一个引用,你的举例就是y,他说此时的常量就不是顶层常量了那您的第三句auto &const z=y;这是为了表明什么呢
追答
引用不可能具有top-level cv-qualifier。然而在下并不指望这句话能被轻易理解……
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式