string is rarely useful as a function argument
Peter Alexander
peter.alexander.au at gmail.com
Wed Dec 28 10:03:56 PST 2011
On 28/12/11 5:11 PM, Walter Bright 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).
We can disagree on this, but I think the fact that Phobos rarely uses
'string' and instead uses 'const(char)[]' or 'in char[]' speaks louder
than either of our experiences.
> 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++.
Yes, and I wouldn't want to remove that. Immutable strings are good, but
requiring immutable strings when you don't need them is definitely not
good. Phobos knows this, so it doesn't use string, which leads me to
question what use the string alias is.
More information about the Digitalmars-d
mailing list