如果类有一个静态成员指针变量,在进程中执行new或malloc操作分配了内存,进程退出前并不需要调用new或malloc,因为系统会自动进行释放。但这个静态成员指针变量需要多少分配,又应该如果处理呢,最近在项目代码中看到这样的例子,和大家分享一下。
用valgrind执行,会发现内存泄漏,如下所示,当然,这是很显然的,多次new但没有delete。
valgrind --tool=memcheck --leak-check=full ./a.out
==3893== LEAK SUMMARY:
==3893== definitely lost: 5,242,880 bytes