string literals

Robert Fraser fraserofthenight at gmail.com
Sat Jan 26 01:46:29 PST 2008


Saaa wrote:
> from the 1.0 documentation:
> 
> char[] str;
> char[] str1 = "abc";
> str[0] = 'b';        // error, "abc" is read only, may crash
> 
> Is this example correct?
> 
> 

Yes, because the "abc" is a string literal, that is to say it's written 
in the code itself. If str1 was loaded from an outside source, such as a 
file, user input, etc., then you could modify it without issue.

For string LITERALS (a string literal is one you write in the code 
itself, usually encased in double-quotes), modifying them without 
calling .dup on them is bad. For other strings, it's perfectly okay.


More information about the Digitalmars-d-learn mailing list