initializer list like in C++?
James Dennett
jdennett at acm.org
Tue Jul 24 11:55:31 PDT 2007
Jarrett Billingsley wrote:
> "Hoenir" <mrmocool at gmx.de> wrote in message
> news:f84rnt$1db0$1 at digitalmars.com...
>> Is there anything like the initializer list (C++) in D?
>>
>> class Test {
>> int x;
>> Test(int y):x(y){};
>> }
>
> No. See
> http://www.digitalmars.com/d/archives/digitalmars/D/initialization_lists_55262.html
> for an explanation on why D doesn't have them.
I looked at that thread, but found only references to
performance, which miss the main reason why these are
present/useful in C++: semantics. There are various
kinds of things in C++ that can be initialized but cannot
be modified, because of references, const-ness, and
classes with immutable value semantics.
The occasional/slight performance benefit is definitely
secondary to the ability to express meaning directly in
the code.
As D gains the ability to model such immutable members,
it might benefit from finding (its own) solution to the
same issue.
-- James
More information about the Digitalmars-d-learn
mailing list