Op 2019-06-25 om 21:12 schreef Ryan Joseph:

On Jun 25, 2019, at 2:16 PM, Jonas Maebe <jo...@freepascal.org> wrote:

It has to allocate a new ansistring.
Another question: if I do "s += c” will the string reallocate memory for 1 
character or is there an exponential growing function? If it does grow by one 
character at a time how can I reserve a certain capacity in advance?
An exponential growing function applied to all strings would have many worse case behaviours, where it would eat up heaps of memory for nothing. This is why it is better to have the programmer indicate it is a growing string some how (or have a separate type, like TStringBuilder mentioned by Jonas)
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to