使用一份代码时发现了内存泄漏,费了半天劲查了一遍发现所有new的成员都释放掉了,很不解。
再看了下内存泄漏的地方几乎都跟某个结构体有关系,这个结构体中有string成员变量。
网上搜了下有人说string作为结构体成员变量时如果memset此结构体时会有内存泄露,再在代码里搜了下发现代码里果然memset了一个带string成员变量的结构体。
去掉memset后不再有内存泄漏。
string还没释放就被memset了,指针找不到了,所以内存泄漏。
使用一份代码时发现了内存泄漏,费了半天劲查了一遍发现所有new的成员都释放掉了,很不解。
再看了下内存泄漏的地方几乎都跟某个结构体有关系,这个结构体中有string成员变量。
网上搜了下有人说string作为结构体成员变量时如果memset此结构体时会有内存泄露,再在代码里搜了下发现代码里果然memset了一个带string成员变量的结构体。
去掉memset后不再有内存泄漏。
string还没释放就被memset了,指针找不到了,所以内存泄漏。