gpt4 book ai didi

c++ - 为什么我在 visual studio 2010 中运行代码后得到 4 作为输出

转载 作者:太空宇宙 更新时间:2023-11-04 16:08:41 24 4
gpt4 key购买 nike

int main()
{
int *pnPtr = new int;
delete pnPtr;
*pnPtr = 4;
cout<<*pnPtr;
}

And) 4 当我尝试在 visual studio 2010 中执行时。

请解释一下 4 是如何显示为输出的?

最佳答案

您期望它返回什么?

理解,delete 仅释放指向的已分配内存,但保留指针原样。您仍然可以使用指针对指向的地址执行某些操作。

int main()
{
int *pnPtr = new int; // allocate memory, pnPtr now points to it
delete pnPtr; // delete allocated memory, pnPtr still points to that location
*pnPtr = 4; // set memory at pointed address to 4
cout<<*pnPtr;
}

关于c++ - 为什么我在 visual studio 2010 中运行代码后得到 4 作为输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31313022/

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