Suggestion: shortcut for 'new X' #2
Ivan Senji
ivan.senji_REMOVE_ at _THIS__gmail.com
Tue Sep 5 11:35:13 PDT 2006
Kristian wrote:
>
> Ok, I think my previous suggestion for an optional shortcut was a bit
> too strange... For example:
>
> Foo f = new Foo;
> Bar b = new Bar(10);
>
> <->
>
> Foo f = new;
> Bar b = new(10);
>
>
> Now there has been a proposal of the following (I use 'local' keyword
> here):
>
> Foo f1 = local Foo; //stack/RAII
> Foo f2 = new Foo; //heap
>
> I like the syntax also.
>
>
> How about if you could *alternately* write:
>
> local Foo f1;
> new Foo f2;
>
> This would take care of the redundant class name in the declarations.
>
> (I just hate redundance! ;) Writing class names twice is frustrating;
> there is a pattern of "X ... X".)
>
> Constructor parameters are put after variable names:
>
> local Bar b(10);
> new Bar b(10, true);
>
>
> If this (or something similar) is not possible, a lot of people
> (including me) could end writing auto typed declarations. For example
> (auto here means auto type, not RAII):
>
> auto f = new Foo;
> auto b = new Bar(10);
And I still don't see what is so terribly awful about that?
>
> That could be shortened to:
>
> f = new Foo;
> b = new Bar(10);
>
> Which leads to my suggestion:
>
> new Foo f;
> new Bar b(10);
Hmm, that looks a little to strange to me. It looks more like an
expression than a declaration.
More information about the Digitalmars-d
mailing list