More on C++ stack arrays
Adam D. Ruppe
destructionator at gmail.com
Sun Oct 20 08:50:18 PDT 2013
On Sunday, 20 October 2013 at 14:25:37 UTC, bearophile wrote:
> I'd like variable-sized stack-allocated arrays in D.
I think I would too, though it'd be pretty important, at least
for @safe, to get scope working right.
Ideally, the stack allocated array would be a different type than
a normal array, but offer the slice operator, perhaps on alias
this, to give back a normal T[] in a scope storage class (the
return value could only be used in a context where references
cannot escape).
This way, the owner is clear and you won't be accidentally
storing it somewhere.
An alternative to a stack allocated array would be one made from
a thread-local region allocator, which returns a Unique!T or
similar, which frees it when it goes out of scope. Such an
allocator would be substantially similar to the system stack,
fast to allocate and free, although probably not done in
registers and perhaps not as likely to be in cpu cache. But that
might not matter much anyway, I don't actually know.
More information about the Digitalmars-d
mailing list