Top 5
    Benji Smith 
    dlanguage at benjismith.net
       
    Fri Oct 10 08:54:33 PDT 2008
    
    
  
Andrei Alexandrescu wrote:
> new T[x] is a brain-dead syntax that I wish Walter hadn't imported in 
> the first place.
Really? I think it's very valuable.
The "new T[x]" syntax lets you construct an array as an RValue. Without 
that syntax, you have to declare an array before using it.
    // nice
    x.setOutputBuffer(new char[64]);
    // not so nice
    char[64] buffer;
    x.setOutputBuffer(buffer);
Personally, I'd love to see the distinction between static arrays and 
dynamic arrays disappear. (The compiler can do whatever it wants behind 
the scenes, but usually I just don't care which is which, and I'd prefer 
a unified syntax.)
I think *all* arrays should be declared like this:
    T[] array = new T[n];
If "n" is known it compile time, then D can use CTFE to create a static 
array, and if "n" isn't known until runtime, it can create a dynamic 
array. But as the user, I don't want to care which is which.
(And I don't see how the distinction in the type-system between T[] and 
T[3] is useful.)
--benji
    
    
More information about the Digitalmars-d
mailing list