About Strings and reference of strings

Hello,

while writing a simple syslog message parser, something struck me and now I
would like to know :
What happens internally if you make a new string from a range of another
string ?

You have a new String object. But what happens to the internal data ? Is the
char range copied to the new string object or is a reference created to the
range in the old string ?

If the data is copied over, I propose to introduce a new RefString Class as
a C extension that would typically be used by parsers and tokenizers.

Cheers,
  zimbatm

You can see for yourself in string.c :wink:
Arrays are shared, so I *suppose* Strings are as well.

···

On 1/9/07, Jonas Pfenniger <zimbatm@oree.ch> wrote:

Hello,

while writing a simple syslog message parser, something struck me and now I
would like to know :
What happens internally if you make a new string from a range of another
string ?

You have a new String object. But what happens to the internal data ? Is the
char range copied to the new string object or is a reference created to the
range in the old string ?

If the data is copied over, I propose to introduce a new RefString Class as
a C extension that would typically be used by parsers and tokenizers.

Cheers,
  zimbatm