gpt4 book ai didi

c++ - const 类型的绑定(bind)如何在 C++ 中工作?

转载 作者:行者123 更新时间:2023-12-02 10:03:57 30 4
gpt4 key购买 nike

为什么这个绑定(bind)没问题

int main()
{
double d = 4.56;
const int &r = d;

return 0;
}

但这不是
int main()
{
double d = 4.56;
int &r = d;

return 0;
}

任何人都可以在第一个编译但第二个显示错误时向我解释

最佳答案

当您绑定(bind)到转换后的类型( double 必须转换为 int )时,您会得到一个纯右值,因为转换后的 int是一个临时的,在内存中没有地址。因此,绑定(bind)对它的常规引用是行不通的,因为它们只能绑定(bind)到 glvalues。 const类型引用可以绑定(bind)到纯右值,所以第一个仍然可以编译。来源:https://en.cppreference.com/w/cpp/language/value_category

关于c++ - const 类型的绑定(bind)如何在 C++ 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61171892/

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