这个问题有许多大神分析过其中原理,在此不赘言.绝大多数情况是在使用 delete 释放内存时出现这个问题的.
比如下面一段程序:`
char* pstr{
new char[20]}; //分配空间
pstr={
"Hello World!"}; //初始化空间
cout<<pstr<<endl; //输出
delete [] pstr; //释放内存
pstr=nullptr; //空置指针
这段代码原意是在空闲存储器中分配一段长度为20的字符空间,然后将这段内存初始化为”Hello World!”.
这段代码的问题出在初始化这一步: “pstr={“Hello Wor