
valgrind output will go to log
VALGRIND_DO_LEAK_CHECK
8 bytes in 1 blocks are definitely lost in loss record ... of ...
   by 0x........: doit() (leak_cpp_interior.cpp:89)
   by 0x........: main (leak_cpp_interior.cpp:104)

LEAK SUMMARY:
   definitely lost: 8 bytes in 1 blocks
   indirectly lost: 0 bytes in 0 blocks
     possibly lost: 0 bytes in 0 blocks
   still reachable: 187 bytes in 7 blocks
                      of which reachable via heuristic:
                        stdstring          : 80 bytes in 2 blocks
                        newarray           : 11 bytes in 1 blocks
                        multipleinheritance: 48 bytes in 2 blocks
        suppressed: 0 bytes in 0 blocks
Reachable blocks (those to which a pointer was found) are not shown.
To see them, rerun with: --leak-check=full --show-leak-kinds=all

leak_check summary heuristics multipleinheritance
LEAK SUMMARY:
   definitely lost: 8 (+0) bytes in 1 (+0) blocks
   indirectly lost: 0 (+0) bytes in 0 (+0) blocks
     possibly lost: 91 (+91) bytes in 3 (+3) blocks
   still reachable: 96 (-91) bytes in 4 (-3) blocks
                      of which reachable via heuristic:
                        stdstring          : 0 (-80) bytes in 0 (-2) blocks
                        newarray           : 0 (-11) bytes in 0 (-1) blocks
                        multipleinheritance: 48 (+0) bytes in 2 (+0) blocks
        suppressed: 0 (+0) bytes in 0 (+0) blocks
To see details of leaked memory, give 'full' arg to leak_check

leak_check summary any heuristics newarray
LEAK SUMMARY:
   definitely lost: 8 (+0) bytes in 1 (+0) blocks
   indirectly lost: 0 (+0) bytes in 0 (+0) blocks
     possibly lost: 128 (+37) bytes in 4 (+1) blocks
   still reachable: 59 (-37) bytes in 3 (-1) blocks
                      of which reachable via heuristic:
                        newarray           : 11 (+11) bytes in 1 (+1) blocks
                        multipleinheritance: 0 (-48) bytes in 0 (-2) blocks
        suppressed: 0 (+0) bytes in 0 (+0) blocks
To see details of leaked memory, give 'full' arg to leak_check

leak_check summary heuristics stdstring
LEAK SUMMARY:
   definitely lost: 8 (+0) bytes in 1 (+0) blocks
   indirectly lost: 0 (+0) bytes in 0 (+0) blocks
     possibly lost: 59 (-69) bytes in 3 (-1) blocks
   still reachable: 128 (+69) bytes in 4 (+1) blocks
                      of which reachable via heuristic:
                        stdstring          : 80 (+80) bytes in 2 (+2) blocks
                        newarray           : 0 (-11) bytes in 0 (-1) blocks
        suppressed: 0 (+0) bytes in 0 (+0) blocks
To see details of leaked memory, give 'full' arg to leak_check

Searching for pointers pointing in 20 bytes from 0x........
*0x........ interior points at 8 bytes inside 0x........
 Address 0x........ is 0 bytes inside data symbol "ptr"
block at 0x........ considered reachable by ptr 0x........ using newarray heuristic
destruct MyClass
destruct MyClass
destruct MyClass
destruct Ce
destruct Be
destruct Ae
destruct Ce
destruct Be
destruct Ae
destruct C
destruct B
destruct A
destruct C
destruct B
destruct A
Finished!

HEAP SUMMARY:
    in use at exit: 0 bytes in 0 blocks
  total heap usage: 8 allocs, 8 frees, 195 bytes allocated

All heap blocks were freed -- no leaks are possible

For counts of detected and suppressed errors, rerun with: -v
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
