string is rarely useful as a function argument

Sean Kelly sean at invisibleduck.org
Wed Dec 28 11:23:59 PST 2011


Most common to me buffer reuse. I'll read a line of a file into a buffer, operate on it, then read the next line into the same buffer. If references to the buffer may escape, it's obviously unsafe to cast to immutable. 

Sent from my iPhone

On Dec 28, 2011, at 9:11 AM, Walter Bright <newshound2 at digitalmars.com> wrote:

> On 12/28/2011 4:06 AM, Peter Alexander wrote:
>> I rarely *ever* need an immutable string. What I usually need is const(char)[].
>> I'd say 99%+ of the time I need only a const string.
> 
> I have a very different experience with strings. I can't even remember a case where I wanted to modify an existing string (this includes all my C and C++ usage of strings). It's always assemble a string at one place, and then refer to that string ever after (and never modify it).
> 
> What immutable strings make possible is treating strings as if they were value types. Nearly every language I know of treats them as immutable except for C and C++.


More information about the Digitalmars-d mailing list