The demise of T[new]

grauzone none at example.net
Tue Oct 20 10:31:37 PDT 2009


Andrei Alexandrescu wrote:
> grauzone wrote:
>> Steven Schveighoffer wrote:
>>> I still think having an Appender object or struct is a worthwhile 
>>> thing, the "pre-allocate array then set length to zero" model is a 
>>> hack at best.
>>
>> Would that work with Andrei's append cache at all? Setting the length 
>> to zero and then appending is like taking a slice of length 0 and then 
>> appending.
>>
>> Maybe introduce a write/readable .capacity property, that magically 
>> accesses the cache/GC?
> 
> For my money, I'd get rid of that trick:
> 
> a.length = 1000;
> a.length = 0;
> for (...) a ~= x;

Yes, that's what we currently use for setting the capacity of an array. 
And it looks stupid and non-intuitive; someone new to D might think it's 
a no-op.

Better way please?

> 
> Andrei



More information about the Digitalmars-d mailing list