Hello grauzone,

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)

I'm going to guess it works, but it doesn't make anything much cleaner (and BTW, I think that static is unneeded).

--
... <IXOYE><



Reply via email to