gpt4 book ai didi

c++ - C++ 中是否存在内存泄漏 "undefined behavior"类问题?

转载 作者:IT老高 更新时间:2023-10-28 22:31:26 27 4
gpt4 key购买 nike

事实证明,许多看起来很天真的东西在 C++ 中是未定义的行为。例如,一旦一个非空指针被delete even printing out that pointer value is undefined behavior .

现在内存泄漏肯定很糟糕。但是它们是什么类别的情况 - 已定义、未定义或其他什么类别的行为?

最佳答案

内存泄漏。

没有未定义的行为。泄漏内存是完全合法的。

未定义的行为:是标准明确不想定义并留给实现的操作,以便在不违反标准的情况下灵活地执行某些类型的优化。

内存管理定义明确。
如果您动态分配内存并且不释放它。然后,内存仍然是应用程序的属性,可以按照它认为合适的方式进行管理。您丢失了对那部分内存的所有引用这一事实既不存在也不存在。

当然,如果您继续泄漏,那么您最终将耗尽可用内存,并且应用程序将开始抛出 bad_alloc 异常。但这是另一个问题。

关于c++ - C++ 中是否存在内存泄漏 "undefined behavior"类问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1978709/

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