On Thursday, 11 February 2016 at 09:02:30 UTC, Jacob Carlborg
wrote:
On 2016-02-11 05:34, Adam D. Ruppe wrote:
On Thursday, 11 February 2016 at 04:31:12 UTC, cy wrote:
as[0..$] = new A();
before accessing .stuff on as[0].
Loop through it and allocate each one rather than trying to do
it in a
one liner like that.
What about this?
as[] = new A();
Or will that allocate a new one for each element?
import std.stdio;
class Test
{
int n;
int m;
}
void main()
{
auto testArr = new Test[](5);
testArr[] = new Test();
foreach (ref test; testArr)
{
writeln(cast(void*)test);
}
}
Output:
2A41010
2A41010
2A41010
2A41010
2A41010
Not really surprising, I guess. You can always do `generate(() =>
new Test()).take(5).array`.