现象:程序卡住一段时间后结束运行,返回异常值-1073741571
可能原因:类的析构函数删除没有由new开辟的类指针
场景重现:
#include <iostream>
using namespace std;
class T{
private:
T *t;
public:
T();
~T();
};
T a;
T::T(){
t = &a;
}
T::~T(){
delete t;
}
int main(){
return 0;
}
在Windows环境下,使用Visual Studio进行C++开发时,遇到程序运行一段时间后异常结束,返回值为-1073741571。该问题可能源于类析构函数中错误地删除了未通过new分配的内存。此情况通常导致内存管理异常,需要检查代码中涉及对象生命周期的部分。
现象:程序卡住一段时间后结束运行,返回异常值-1073741571
可能原因:类的析构函数删除没有由new开辟的类指针
场景重现:
#include <iostream>
using namespace std;
class T{
private:
T *t;
public:
T();
~T();
};
T a;
T::T(){
t = &a;
}
T::~T(){
delete t;
}
int main(){
return 0;
}

被折叠的 条评论
为什么被折叠?