释放时分配在堆栈上的内存是否会被清除?

如果我们像这样在堆栈上分配内存:

void foobar()
{
    int arr[10];
}

foobar()退出,这个存储器块的参考(arr)丢失。但它被归零了吗?

回答

但它是否设置为零?

不/也许。无法保证未分配内存的“价值”。标准也没有任何方式保证遵守假设的“值”。

从信息安全的角度来看:如果您将私人信息存储在一个对象中,那么您应该假设该信息即使在该对象的存储期限之后仍然存在。如果您的程序容易受到攻击(通常是通过未定义的行为),那么攻击者可能能够访问该信息。


以上是释放时分配在堆栈上的内存是否会被清除?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>