V Mon, 30 Jun 2014 05:39:36 +0000
Igor via Digitalmars-d <[email protected]> napsáno:
> In case I want to create a new array with size I know, it's very
> convenient to use auto:
> auto a = new int[](13);
> But if I want to create a new, empty array? Then using auto is
> not convenient and I have:
> auto a = new int[](0);
> It seems a bit bloated, compared to int[] a = []. I like using
> auto because of uniform syntax and other reasons. Is there any
> concise way to create a new empty array with auto?
You can write some helper function:
import std.stdio;
auto newa(T)(size_t length = 0)
{
return new T[length];
}
void main(string[] args)
{
auto a = newa!(int)(13);
auto b = newa!(int);
writeln(typeid(a),":", a.length);
writeln(typeid(b),":", b.length);
stdin.readln;
}