下面这个程序main函数有内存泄漏,运行内存检测工具valgrind可以看到(程序可以正常运行的),该如何释放vector的内存资源呢?
#include
#include
using namespace std;
class yitem
{
public:
yitem(const char *s1):m_data(s1) { m_str = new string("abc"); }
~yitem(void) { delete m_str; }
string & get_data() { return m_data; }
private:
string m_data;
string *m_str = nullptr;
};
int main()
{
vector v1;
yitem a("A");
v1.push_back(a);
printf("ok\n");
return 0;
}