title: C++'s std::string pools, debug builds? std::string and valgrind problems
body: <p>I have a problem with many valgrind warnings about possible memory leaks in std::string, like this one:</p>
  
  <pre><code>120 bytes in 4 blocks are possibly lost in loss record 4,192 of 4,687
      at 0x4A06819: operator new(unsigned long) (vg_replace_malloc.c:230)
      by 0x383B89B8B0: std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator&lt;char&gt; const&amp;) (in /usr/lib64/libstdc++.so.6.0.8)
      by 0x383B89C3B4: (within /usr/lib64/libstdc++.so.6.0.8)
      by 0x383B89C4A9: std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;::basic_string(char const*, unsigned long, std::allocator&lt;char&gt; const&amp;) (in /usr/lib64/libstdc++.so.6.0.8)
  </code></pre>
  
  <p>I'm wondering:</p>
  
  <ul>
  <li>does std::string (GCC 4.1.2) use any memory pools?</li>
  <li>if so, is there any way to disable the pools (in form of a debug build etc.)?</li>
  </ul>