back to arays
    Derek Parnell 
    derek at psych.ward
       
    Mon May 15 00:56:55 PDT 2006
    
    
  
On Mon, 15 May 2006 10:05:22 +0300, Max Samuha wrote:
> I thought array references are similar to object references like in C#
> (actually, thay are object references in C#) and that was my mistake:
> 
> int[] a = new int[20];
> int[] b = a;
> 
> a.length = 40; // a is copied and b is not updated to point to a's
> data;
> 
> Does it mean that anytime i change an array, i have to manually update
> all references to it or should i wrap my array in an Array class so
> that all references to any instance of that array remain valid?
> 
> If the question have been already discussed please refer me to the
> right thread. Thanks
I assume for some valid reason you want this behaviour...
 int[] a = new int[20];
 int[] b = a;
 int[] c = a;
 a[0] = 17;
 writefln("%s %s", b[0], c[0]); // Displays 17 17
The simplest way to do this is  ...
 int[] a = new int[20];
 int[]* b = &a;
 int[]* c = &a;
 a[0] = 17;
 writefln("%s %s", b[0], c[0]); // Displays 17 17
I'm not sure why one would need this behaviour though. Why do you need two
identifiers in the same scope to reference the same data? 
-- 
Derek
(skype: derek.j.parnell)
Melbourne, Australia
"Down with mediocracy!"
15/05/2006 5:49:08 PM
    
    
More information about the Digitalmars-d-learn
mailing list