gpt4 book ai didi

c++ - 引用标的的删除

转载 作者:行者123 更新时间:2023-11-30 01:43:52 25 4
gpt4 key购买 nike

如果引用的基础变量被删除,引用会发生什么?

例如为什么下面的代码给出 12 作为输出我在 gcc 和 msvc 上都检查过

int *x = new int(1);
int& y = *x;
delete x;
x=NULL;
int z = 12;
y=z;
cout<<"Y = "<<y<<endl;

最佳答案

访问内存已被删除的对象是未定义的行为,无论您是直接访问还是通过引用访问。

代码在 GCC 和 MSVC 上输出 12 的事实在很大程度上是无关紧要的:它可以输出 13,或 42,或 potato 并且仍然符合标准。

关于c++ - 引用标的的删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37113835/

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