Shortest way to allocate an array and initialize it with a specific value.
Daniel Kozák via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Jun 11 04:51:14 PDT 2015
On Thu, 11 Jun 2015 11:43:25 +0000
via Digitalmars-d-learn <digitalmars-d-learn at puremagic.com> wrote:
> 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 :-)
small enhancment:
struct Ubyte(ubyte defval = 0)
More information about the Digitalmars-d-learn
mailing list