is there a cleaner way to new a static sized array?

daoryn wef at sag.com
Wed Feb 24 07:09:07 PST 2010


BCS Wrote:

> I need a function that works like the following:
> 
> > T* New(T)() { return new T; }
> 
> But that also works with static arrays:
> 
> > auto i = New!(int)();
> > auto a = New!(int[27])();
> 
> The cleanest solution I can think of is:
> 
> > T* New(T)() { return (new T[1]).ptr; }
> 
> but that seems ugly. Any ideas?
> 
> 


I'm sorry, but I dont understand the purpose. Whats wrong with "T[27] array"?
Unless you want to use the heap but if so, why not just go with dynamic arrays? Whats the advantage of using static arrays on heap vs dynamic?



More information about the Digitalmars-d-learn mailing list