valgrind调试问题
==22648== 60 bytes in 3 blocks are possibly lost in loss record 1 of 2
==22648== at 0x4005B65: operator new(unsigned) (vg_replace_malloc.c:163)
==22648== by 0x77D1A1A: std::string::_Rep::_S_create(unsigned, unsigned, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.8)
==22648== by 0x77D3747: std::string::_M_mutate(unsigned, unsigned, unsigned) (in /usr/lib/libstdc++.so.6.0.8)
==22648== by 0x77D38E9: std::string::_M_replace_safe(unsigned, unsigned, char const*, unsigned) (in /usr/lib/libstdc++.so.6.0.8)
==22648== by 0x77D3984: std::string::assign(char const*, unsigned) (in /usr/lib/libstdc++.so.6.0.8)
==22648== by 0x77D3B04: std::string::operator=(char const*) (in /usr/lib/libstdc++.so.6.0.8)
==22648== by 0x804909E: main (teststate.cpp:160)
指向的是
po.tstate ="998877666";
这样为什么会泄漏内存?