Memory leakage check of C++ program report in malloc/free? 
<p>I suspect my C++ program has a memory leakage problem. If I run it with some high load configuration, it finally get killed by the system (linux). I used top command to monitor the program, it consumes high percentage of memory. Then I get valgrind to help.</p>

<p>It reports that </p>

<pre><code>malloc/free: 18,550,137 allocs, 18,550,137 frees, 1,043,554,226 bytes allocated
</code></pre>

<p>and </p>

<pre><code> all heap blocks were freed -- no leaks are possible".
</code></pre>

<p>In my program I never used malloc/free nor new/delete. All dynamic created objects were created by its constructor. I wonder does program written in c++ always use malloc/free as its lower level memory allocation and deallocation methods? I assume all dynamic memory are allocated from heap. Because linux OS is not aware of which language the program was invented. </p>

<p>It load every executable with the same virtual memory layout -- "TEXT" + "DATA" + "HEAP" + "STACK". Therefore if we let c++/c library function to dynamic allocate memory, it must be from "HEAP" right?</p>
