string literals

Saaa empty at needmail.com
Sat Jan 26 07:21:42 PST 2008


I finally see what a string literal means, but this code still bothers me.
What does changing a dynamic char[] (str) have to do with the string literal 
in str1

>> 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