gpt4 book ai didi

c++ - "while"和 "delete"的这种奇怪组合意味着什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:52:50 25 4
gpt4 key购买 nike

回顾一个相当古老的项目,我发现了以下奇怪的代码片段(仅提取了相关代码):

class CCuriousClass {
~CCuriousClass();
CSomeType* object;
};

CCuriousClass::~CCuriousClass()
{
while( object != NULL ) {
delete object;
}
}

我是否监督过任何事情,或者这是一条通向未定义行为的平坦道路?

我在这里看到的是,如果 objectCCuriousClass::~CCuriousClass() 被调用时是一个空指针,一切都会好起来的——没有采取任何行动- 但如果 object 不为 null,这将是一个内部具有未定义行为的无限循环。

这很可能是错误还是我不理解的某种智能构造?

最佳答案

这看起来像一个错误。

关于c++ - "while"和 "delete"的这种奇怪组合意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1946092/

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