想问一下,在C++中,什么情况下我们需要手动调用类的析构函数。就是说,如果不手动调用析构函数,就可能会造成资源泄露,求大神解答
(1) 如果在创建对象的时候采用动态申请(new),那么需要显式的调用类的析构函数。
(1)当类中有非基本数据类型的成员变量时,需要手动的调用析构函数。 例如在A类的成员变量中出现了B类的对象,需要显式的销毁B的对象。
class A
{
string str;
}
如果是这样,要手动调用string的析构函数么?
@俺家有地_: 不用
@Double_win: 那你的意思是,如果A类里嵌套了一个B类,然后定义一个A类的对象,在程序结束的时候需要手动调用B类的析构函数么
@俺家有地_: 在A类的析构函数中需要手动的把B的对象delete掉,调用B的析构函数