auto auto again
renox
renosky at free.fr
Thu Aug 17 14:52:26 PDT 2006
Charles wrote:
> Actually a further revision , based on an archived post I think this
> syntax:
>
> MyClass c = local MyClass();
If memory serves, Walter current view is:
a) For stack variable MyClass c = MyClass(); or auto c = MyClass();
and
b) For global variable MyClass c = new MyClass(); or auto c = new MyClass();
I'm not sure what is the benefit replacing a) by
MyClass c = local MyClass(); or auto c = local MyClass(); for stack
variable?
What would be the meaning of 'MyClass c = MyClass();', the global case,
dropping the new? Forbiddeb? Or something else?
RenoX
PS:
just some advertising for my own view: replacing 'auto' by a ':='
operator for type deduction (I liked too much Limbo syntax probably),
which would make:
1) for stack variable c := MyClass(); (of course MyClass c = MyClass();
would still work)
2) for global variable c := new MyClass(); (of course MyClass c = new
MyClass(); would still work).
> works better. It looks good, and is very explicit. 'local' can be
> replaced with 'raii' , 'stack' or whatever you like.
>
> Charles wrote:
>
>> Just wanted to suggest that auto ( the auto that means destroy on
>> scope exit ) , be renamed to raii , or anything that eliminates the
>> double meaning of 'auto'. I know auto in C was used to mean something
>> similar, but C has no automatic-type-deduction named auto, and the
>> current situation in D prevents one from doing an auto(type-deduction)
>> auto(destroy) declaration, as in : auto auto a = new MyClass;
>>
>> Thx! It is only an aesthetic change I know but I think it will add a
>> lot to the general flow of the language, as well as allow type deduced
>> raii variable declaration.
>>
>> Charlie
More information about the Digitalmars-d
mailing list