对于同一个类进行两次析构一般情况不会出现问题,但是当在析构函数中调用了delete对于类中的成员变量进行销毁则会出现问题,如果进行两次析构函数,则会对同一个变量进行两次销毁,则第二次销毁就会出现问题,会出现_BLOCK_TYPE_IS_VALID(pHead->nBlockUse的问题。
出现这个问题的原因有:
1.内存泄漏:所以当程序退出是,系统会收回分配的内存,于是调析构函数,由于内存已被错误地释放,于是就会出现“Debug Assertion Failed”的错误。
对于同一个类进行两次析构一般情况不会出现问题,但是当在析构函数中调用了delete对于类中的成员变量进行销毁则会出现问题,如果进行两次析构函数,则会对同一个变量进行两次销毁,则第二次销毁就会出现问题,会出现_BLOCK_TYPE_IS_VALID(pHead->nBlockUse的问题。
出现这个问题的原因有:
1.内存泄漏:所以当程序退出是,系统会收回分配的内存,于是调析构函数,由于内存已被错误地释放,于是就会出现“Debug Assertion Failed”的错误。