四、delete和析构函数的关系 在C++中,delete和析构函数是密切相关的。当我们使用delete释放动态分配的内存空间时,它会自动调用对象的析构函数进行清理工作。因此,我们通常需要在析构函数中完成一些清理工作,例如释放资源、关闭文件等等。 例如: ``` MyString* pStr = new MyString(); delete pStr; ``` 这段代...
所以说,delete并不是在删除指针,而是在清理内存。 析构函数和delete的关系 delete用于释放new在堆中动态生成的对象空间。 释放时会自动调用类的析构函数,在析构函数中用于释放类内部动态分配的得到的资源。 当然,由于内置类型没有析构函数,所以delete内置类型指针时,什么也不需要做。©...
我认为delete和析构关系是:前者是后者执行充分条件,后者对前者没有必然的影响 1. 对象只在其生命周期结束时自动调用析构函数释放对象资源 而delete这个动作是释放对象就是标志生命周期结束所以必然引起析构动作 所以delete是析构的充分条件 2. 而析构函数调用只是会可能使用delete来释放对象某些成员占用的内存 达到释放...
所以说,delete并不是在删除指针,而是在清理内存。 析构函数和delete的关系 delete用于释放new在堆中动态生成的对象空间。释放时会自动调用类的析构函数,在析构函数中用于释放类内部动态分配的得到的资源。 当然,由于内置类型没有析构函数,所以delete内置类型指针时,什么也不需要做。