gpt4 book ai didi

c++ - 引用在 C++ 中占用内存吗?

转载 作者:太空狗 更新时间:2023-10-29 20:16:42 26 4
gpt4 key购买 nike

我看了很多关于这个问题的文章,从中我了解到引用只是别名,它们不消耗任何内存。编译器用指向变量的地址替换引用。

任何人都可以解释一下下面的例子会发生什么。编译器如何使用引用 ri?

int main()
{
int *pi = new int(50);
int &ri = *pi;
ri = 30;
cout << "val = " << ri << " , " << *pi << endl;
}

它给了我输出:

val = 30  ,   30

最佳答案

int *pi = new int(50);

+----+
pi --> | 50 |
+----+


int &ri = *pi;

+----+
pi --> | 50 | ri = 50, same as *pi, which is 50
+----+

ri = 30; now the contents of what pi points to i.e. *pi is replaced with 30

+----+
pi --> | 30 |
+----+

关于c++ - 引用在 C++ 中占用内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8846494/

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