struct vs. class, int vs. char.
Tomas Lindquist Olsen
tomas.l.olsen at gmail.com
Tue Apr 28 11:13:50 PDT 2009
On Tue, Apr 28, 2009 at 6:07 PM, MLT <none at anon.com> wrote:
> 2. char[] vs. int[]
> I think it is strange that
> char[] x = "1234" ;
> x[0] = '4' ;
>
> Produces a run time error, but
> int[] x = [1,2,3,4] ;
> x[0] = 4 ;
> Doesn't. I think that they both should, or both shouldn't - to be consistent (and it would be better if they both didn't). Best would be again, to allow the programmer to specify where the array (or other stuff) should be stored.
>
It pretty much boils down to this (mostly said in other replies)
* string literals are special, they are allocated in a static data
segment, readonly if the platform allows it.
* arrayliterals as non-static expressions are always heap allocated.
even when there's absolute no need for it... (see
http://d.puremagic.com/issues/show_bug.cgi?id=2356 )
-Tomas
More information about the Digitalmars-d
mailing list