gpt4 book ai didi

c++ - 在 C++ 中,指针是否保证在 `delete` 之后保留其值?

转载 作者:IT老高 更新时间:2023-10-28 22:17:05 25 4
gpt4 key购买 nike

灵感来自 this question .

假设在 C++ 代码中我有一个有效的指针并正确地 delete 它。根据 C++ 标准,指针将变为无效(3.7.3.2/4 - 释放函数将使引用所有已释放存储部分的指针无效)。

至少在大多数实现中,它会保留值并存储与 delete 之前完全相同的地址,但是 using the value is undefined behavior .

标准是否保证指针将保留其值,或者该值是否允许更改?

最佳答案

不,不能保证,实现可以合法地将零分配给 deletelvalue 操作数。

Bjarne Stroustrup 曾希望实现会选择这样做,但没有多少人这样做。

http://www.stroustrup.com/bs_faq2.html#delete-zero

关于c++ - 在 C++ 中,指针是否保证在 `delete` 之后保留其值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5002055/

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