Suggestion: shortcut for 'new X'

freeagle freeagle at inmail.sk
Thu Aug 24 09:06:29 PDT 2006


Kristian wrote:
> On Thu, 24 Aug 2006 18:10:12 +0300, Oskar Linde 
> <oskar.lindeREM at OVEgmail.com> wrote:
> 
>> Kristian wrote:
>>> How about this:
>>>      Obj obj1 = new Obj;
>>>     Obj obj2 = new Obj(10);
>>>  could be reduced to:
>>>      Obj obj1 = new;
>>>     Obj obj2 = new(10);
>>>  This way only one class name would be required per variable. (That 
>>> is, one at maximum: "Obj obj1 = new, obj2 = new(10);" is also valid 
>>> of course.) Redundance would be reduced.
>>
>> You can already do:
>>
>> auto obj1 = new Obj;
>> auto obj2 = new Obj(10);
>>
>> which takes care of the redundant Obj.
> 
> Yes, and it's nice.
> But you cannot always use auto.
> 
> Obj func() {
>     Obj ret = new;
> 
>     ret.doSomething();
>     ...
>     return(ret);
> }
> 
> That would be nice too. :)

And if you want to create object of inherited class and store it into 
referenco to base class??

class A
{
}

class B : A
{
}

A a = new/* B */; ??



More information about the Digitalmars-d mailing list