gpt4 book ai didi

c++ - 当 const ref 被原始对象(非常量)替换时,const-ness 会消失吗?

转载 作者:太空宇宙 更新时间:2023-11-04 11:31:19 24 4
gpt4 key购买 nike

我经常在 C++ 书籍中看到如下关于引用的陈述:

Reference is just another name of the original object. When it is used, it is replaced by the original object (in most cases).

问题如下:如果我将一个 const ref 绑定(bind)到一个非 const 对象,当这个 const ref 被使用并被原始对象替换时,const-ness 会消失吗?

int i = 42;  
const int & r1 = i;
int & r2 = r1; // Question: shouldn't r1 here just be replaced by the original object, which is **non-const**?

最佳答案

简单的回答:否

更长的答案:你不能那样做。一旦你有了一个 const & 它将永远保持常量(除非你进行常量转换或其他一些明确的事情)。这是设计使然,否则 const-correctness 并没有多大意义,这也是您无法编译代码的原因。

关于c++ - 当 const ref 被原始对象(非常量)替换时,const-ness 会消失吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24657115/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com