gpt4 book ai didi

c++ - 返回指向成员的指针并将其分配给引用。合法吗?

转载 作者:搜寻专家 更新时间:2023-10-31 00:06:27 25 4
gpt4 key购买 nike

<分区>

我正在审查代码,我觉得这有点不对劲。我知道它可以用另一种方式写,我知道这样写可能没用。不过,令我惊讶的是编译器没有生成任何错误/警告,所以我想知道它是否合法以及为什么。

struct A
{
int val = 0;
int* GetVal() {
return &val;
}
};

void main()
{
A a;
int* const& r = a.GetVal();
}

据我所知,一个引用代表一个真正的变量。引用和变量应该有相同的内存地址。在这个例子中,没有保存地址的变量(也许是临时的?)所以 r 指的是哪个变量?

如果我删除 const 它不会编译。

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