auto storage class - infer or RAII?

JC johnch_atms at hotmail.com
Mon Nov 13 10:40:23 PST 2006


"Kristian Kilpi" <kjkilpi at gmail.com> wrote in message 
news:op.tiyvn2xqusumhd at mist...
>> It has the nice connotation that it represents a variable, at least.
>
> The other storage classes work for variables too!
>
>> As for RAII, just using a keyword alone doesn't seem to cut it. If 
>> references are to be automatically deleted at the end of a scope, that 
>> infers that a scope is actually introduced, which to me is signified by 
>> a matching pair of curly brackets. I'd like to be able to specify the 
>> extent of the scope, perhaps like this:
>>  void drawBox(Rectangle rect, Colour colour) {
>>   scope (DrawingContext dc = createDrawingContext()) {
>>     scope (Pen pen = new Pen(colour)) {
>>       dc.drawRectangle(pen, rect);
>>     } // pen is freed here
>>   } // dc is freed here
>> }
>>  Used this way, 'scope' as the RAII keyword makes sense.
>
> *Please* no!

> Also I don't like this syntax. All variables should always be declared at 
> the begining of blocks.

According to whom? That's a style thing, not a rule. 





More information about the Digitalmars-d mailing list