gpt4 book ai didi

c++ - 带有常量修饰符的引用

转载 作者:太空狗 更新时间:2023-10-29 19:44:07 24 4
gpt4 key购买 nike

第一个::

double & val = 66.6;     //illegal
const double & val = 66.6; //legal

我只是在做一些演示程序,并通过了上述概念,但无法确定上述概念到底需要什么。const 在第二种情况下到底做了什么魔法?

第二个::

int nVar = 12;
int &rVar = nVar ;//Ok
double &dVar = nVar ;//Error
const double &cdVar = nVar ;//Ok

为什么第三条语句在第四条语句有效的地方不起作用?

最佳答案

第一个是非法的。您不能将非常量引用绑定(bind)到临时引用。

第二个是合法的。它创建一个临时 double 值,初始化为 66.6,并使 val 成为对它的常量引用。

const promise 不会通过引用更改值。 C++ 不允许您将非常量引用绑定(bind)到临时引用,因为这通常是错误的。

关于c++ - 带有常量修饰符的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14020940/

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