一个C/C++混用导致的mem-leak

端午节前调试了一个恶心的bug。本以为只是小伙伴在分配(new)一个结构体后,通过消息发送给其它线程忘了释放。

在析构函数里加了delete之后好像屁效果都没有,一度怀疑人生。

折腾了半天,突然发现小伙伴对包含std::string的struct里习惯性的使用了memset(0)进行初始化,导致std::string在堆上分配的空间没有被正确释放。

posted @ 2016-06-11 13:29  见风堂  阅读(184)  评论(0编辑  收藏  举报