1,024 bytes in 1 blocks are possibly lost in loss record 13 of 15
==10676== at 0x4004C0F: operator new(unsigned) (vg_replace_malloc.c:163)
==10676== by 0xB7B3F0: std::__default_alloc_template<true, 0>::_S_chunk_alloc(unsigned, int&) (in /usr/lib/libstdc++.so.5.0.3)
==10676== by 0xB7B2FC: std::__default_alloc_template<true, 0>::_S_refill(unsigned) (in /usr/lib/libstdc++.so.5.0.3)
==10676== by 0xB7AE6B: std::__default_alloc_template<true, 0>::allocate(unsigned) (in /usr/lib/libstdc++.so.5.0.3)
==10676== by 0xB80E67: std::string::_Rep::_S_create(unsigned, std::allocator<char> const&) (in /usr/lib/libstdc++.so.5.0.3)
==10676== by 0xB7D68C: std::string::_M_mutate(unsigned, unsigned, unsigned) (in /usr/lib/libstdc++.so.5.0.3)
==10676== by 0xB819E2: std::string& std::string::_M_replace_safe<char const*>(__gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::string>, char const*, char const*) (in /usr/lib/libstdc++.so.5.0.3)
==10676== by 0xB7E43B: std::string::operator=(char const*) (in /usr/lib/libstdc++.so.5.0.3)
==10676== by 0x804A444: main (econsim.cc:35)
ost->name = "Ostlandet"; where the 'name' field is an std::string. Since it's not a pointer, it should surely just disappear when its owning object is deleted? I don't understand how this can be a memory leak; can someone more experienced with either valgrind or std::string give me a hand?