今天遇到了一个很诡异的问题,每次在调用string的构造函数都出core,代码如下:
可以看到pData指针指向的是vector s这块堆内存,因为vector s这个变量时再if里面申请的,所以if一结束这个变量就销毁了同时释放堆内存,而pData依然指向这块已经释放的堆内存
然后后面再将这个栈指针传递给函数,在函数里面的第一行string的构造函数就挂掉了。
和上次的析构函数出core一样都是因为自己代码的内存问题,之前遇到过一次析构函数出core是因为踩内存把stl的内存给踩坏了。
stl 出core只可能是自己的内存问题!!下次再出core就查内存问题就行了
阅读(1608) | 评论(0) | 转发(0) |