谁知道这个析构函数是干啥的?

来源:百度知道 编辑:UC知道 时间:2024/05/24 02:34:13
CBit::~CBit()
{
if(m_pBits)
delete []m_pBits;
}
谁知道这个析构函数是干啥的?还有delete 后面那个[]是什么意思?

删除一个指向数组的指针
一般析构函数都是释放类对象运行期间占用的内存

delete [] 是删除数组的数组 或指向数组的指针

你在程序里找找肯定,有m_pBits[]=new 之类的语句,既然在内存中为数组动态分配了一定的内存空间,当你用完后程序不会自动释放占用的内存空间,一般在析构函数里予以释放,即delete []m_pBits;
[]很明显代表释放的是数组所占用的内存空间,当然你也可以写delete m_pBits; 但是这样会有错误,你只是释放了数组首元素的内存其他部分未释放