Suggestion: shortcut for 'new X' #2
Kristian
kjkilpi at gmail.com
Tue Sep 5 10:51:10 PDT 2006
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);
That could be shortened to:
f = new Foo;
b = new Bar(10);
Which leads to my suggestion:
new Foo f;
new Bar b(10);
More information about the Digitalmars-d
mailing list