This function is O(n^2), not O(n).  The reason is that each +=
causes a reallocation and copy of the existing string.  Microsoft
applications are full of this kind of thing (quadratic performance
on tasks that can be done in linear time) -- on the other hand,
we should be thankful, as it's created such a big market for high-end
ix86 hardware. :-)
(Aus der Dokumentation libstdc++6-4.1-doc)
