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

grauzone none at example.net
Thu Feb 25 09:45:57 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?
> 
> 

Does something like this work as expected?

T* New(T)() { static struct X { T x; } return &(new X).x }

(untested)


More information about the Digitalmars-d-learn mailing list