本文介绍了C ++:析构函数和删除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 语句1:动态创建的本地对象在超出范围时会调用它的析构函数 方法一个程序返回 同意。 语句2:一个动态创建的对象将它称为析构函数 成为删除的目标。 对我没有意义。这不会导致无限循环吗? (即。 删除调用析构函数,在析构函数中调用delete,反过来 再次调用析构函数等等......) 任何评论都赞赏。 asasas 解决方案 析构函数不会调用delete,因此没有循环。 john 析构函数除非你的析构函数是你写的,否则不要调用删除 - 删除这个; HTH, J.Schafer Hi,Statement 1: "A dynamically created local object will call it''s destructormethod when it goes out of scope when a procedure returms"Agree.Statement 2: "A dynamically created object will call it''s destructor when itis made a target of a delete".Does not make sense to me. Would not this result in an endless loop? (ie.delete calls destructor and within destructor it calls delete, which in turncalls the destructor again and so on....)Any comments appreciated.asasas 解决方案Destructor does not call delete, so there is no loop.johnDestructor does not call delete unless in your destructor you write -delete this;HTH,J.Schafer 这篇关于C ++:析构函数和删除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 阿里云证书,YYDS!
05-25 03:45