==23501== 1 bytes in 1 blocks are indirectly lost in loss record 1 of 3
==23501== at 0x4A06D5C: operator new(unsigned long) (vg_replace_malloc.c:230)
==23501== by 0x4010DB: main (threadtest.cpp:38)
==23501==
==23501==
==23501== 451 (216 direct, 235 indirect) bytes in 9 blocks are definitely lost
in loss record 2 of 3
==23501== at 0x4A06D5C: operator new(unsigned long) (vg_replace_malloc.c:230)
==23501== by 0x400F75: MyClass::entry() (threadtest.cpp:16)
==23501== by 0x4010E8: main (threadtest.cpp:39)
==23501==
==23501==
==23501== 234 bytes in 9 blocks are indirectly lost in loss record 3 of 3
==23501== at 0x4A06D5C: operator new(unsigned long) (vg_replace_malloc.c:230)
==23501== by 0x3B33CA1650: std::string::_Rep::_S_create(unsigned long,
unsigned long, std::allocator<char> const&) (in /usr/lib64/libstdc++.so.6.0.10)
==23501== by 0x3B33CA32ED: std::string::_M_mutate(unsigned long, unsigned
long, unsigned long) (in /usr/lib64/libstdc++.so.6.0.10)
==23501== by 0x3B33CA34AB: std::string::_M_replace_safe(unsigned long,
unsigned long, char const*, unsigned long) (in /usr/lib64/libstdc++.so.6.0.10)
==23501== by 0x400FBA: MyClass::entry() (threadtest.cpp:19)
==23501== by 0x4010E8: main (threadtest.cpp:39)
Indirectly lost could be false, but definitely lost is a memory leak! Why?