gpt4 book ai didi

c++ - C++ 混淆中的引用

转载 作者:行者123 更新时间:2023-11-28 03:01:19 25 4
gpt4 key购买 nike

#include <iostream>
using namespace std;

int main()
{
int i=9,k=8;

int &q=i;

q=k;

cout<<i<<"\n"<<q<<"\n";

return 0;
}

输出:

8
8

但在我的书中给出了“q=k 仅更改 i 的值而不更改 q。这是因为作为引用的 q 会自动取消引用为 (*q)。因此地址处的值存储在q 被 i 的值替换"但正如您所见,q 的值也发生了变化。是不是错了???

最佳答案

q,作为引用,不变。换句话说,它指的是 ialways,永远永远(直到它超出范围)。您不能使q 引用不同的对象。这就是“它的值(value) [原文如此?] 永远不会改变”的意思。 q 的“值”是i 的地址。当您在那里分配给 q 时,您实际上是在分配给 i

你打印出来的是i的值,然后是q指向的对象的值(也就是i ).

关于c++ - C++ 混淆中的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20756500/

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