gpt4 book ai didi

c++ - 使用指向对象的指针进行析构

转载 作者:太空狗 更新时间:2023-10-29 19:53:31 26 4
gpt4 key购买 nike

如果一个对象这样存在:

MyClass obj;

调用成员函数:

obj.myMemberFunction();

然后在该对象实现其目的后调用该对象的析构函数:

delete obj;

但是,假设我有一个指向对象的指针:

MyClass* obj;

调用成员函数:

obj->myMemberFunction();

现在...我该如何调用这个对象的析构函数?

最佳答案

你搞反了;在第二种情况下做 delete 而在第一种情况下:

MyClass obj;
obj.myMemberFunction();
//delete obj;
//^^^^^^^^^^^
// NO! `obj` has automatic storage and will
// be destroyed automatically when it goes out
// of scope.

delete 需要一个指向动态分配对象的指针:

MyClass* obj = new MyClass;
obj->myMemberFunction();
delete obj;

关于c++ - 使用指向对象的指针进行析构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13211498/

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