------- Additional Comments From pcarlini at suse dot de  2005-03-31 20:56 
-------
This is not a bug, it's the intended, standard conforming, behavior.

This is happening because, when you call dest.reserve(dest.length() + 1) the
string class is actually *shrinking* the capacity of the string, which at that
point, is *larger* than dest.length + 1. This implies slow reallocations.

In 3.4 (at variance with 3.3) we honor shrink requests, which happen when
reserve is passed an argument which is smaller than the current capacity. This
is very useful to spare memory, in some applications.

In order to fix the problem, make sure to always pass to reserve an argument
bigger than the current capacity.

*** This bug has been marked as a duplicate of 20114 ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |DUPLICATE


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20706

Reply via email to