On Sunday, 6 April 2014 at 20:14:41 UTC, monarch_dodra wrote:
Right, but what I'm getting at, in regards to the original
question:
"What's the syntax for a new empty dynamic array"
You don't "new" the dynamic array. Technically, you just
allocate memory, and then have your *slice* reference that
memory. The slice itself is not newed.
Aye, I'm just saying that there's *incentive* to new it, since it
allows for reducing the two steps of declaration and setting the
length into one. (and does compile without warning, at least with
dmd)
Does doing it in two steps allocate twice?
Nope. That's perfectly valid (and recomended).
You'll have to agree though that, by analogy, it's not unlike
separating declaration from instantiation.
SomeClass sc;
sc = new SomeClass();
string foo;
foo = "moo";
int[] arr;
arr.length = 5;
I would not object to a syntax like T[](length), myself. My main
pet peeve remains array literals being dynamic.