On Fri, 30 Jul 2010 15:56:36 -0400, Jonathan M Davis
<jmdavisp...@gmail.com> wrote:
On Friday, July 30, 2010 10:14:45 Steven Schveighoffer wrote:
I think a function to do it is fine, like makeArray('-', 5);
Well, creating a function for producing an array literal and returning
it using
templates and string mixins wouldn't be all that hard, but if you want
to create
a dynamic array of arbitrary size at runtime, that's not going to work,
and a
makeArray() function would have exactly the same tools that you have to
create
an array of all the same value.
The function would call gc_malloc directly, which does not initialize the
requested memory. Actually, it would call a new run time function that I
will write, which would initialize the array length also.
So, it's not going to be any more efficient that
what you can do.
int[] a = new int[](x);
a[] = val;
_should_ be fairly easily optimized by the compiler and thus really
should be
optimized down to an initialization rather than an initialization and an
assignment.
It's not. The only runtime functions available to the compiler look like
this:
_d_newarrayT(TypeInfo ti, size_t length);
-Steve