Shortest way to allocate an array and initialize it with a specific value.
via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Jun 11 04:43:25 PDT 2015
On Thursday, 11 June 2015 at 08:33:46 UTC, Daniel Kozák wrote:
> On Wed, 10 Jun 2015 20:22:17 +0000
> Adel Mamin via Digitalmars-d-learn
> <digitalmars-d-learn at puremagic.com>
> wrote:
>
>> ubyte[5] a = 0xAA; // Fine. Five 0xAA bytes.
>> auto a2 = new ubyte[5]; // Fine. Five 0 bytes.
>> Now, let's say, I want to allocate an array of a size, derived
>> at run time, and initialize it to some non-zero value at the
>> same time. What would be the shortest way of doing it?
>
> import std.stdio;
>
> struct Ubyte(ubyte defval) {
> ubyte v = defval;
> alias v this;
> }
>
> void main() {
> auto a2 = new Ubyte!(0xAA)[5];
> writeln(a2);
> }
I like this one :-)
More information about the Digitalmars-d-learn
mailing list