Aggregates & associations

Steven Schveighoffer schveiguy at yahoo.com
Wed Dec 19 06:20:26 PST 2007


"Sean Kelly" wrote
>A long time ago Walter mentioned that the "scope" attribute may be extended 
>to indicate aggregation:
>
>     class Foo
>     {
>         Bar valA;
>         scope Baz val2;
>     }
>
> With the above, the size of Foo would be expanded to contain an instance 
> of Baz and val2 would be initialized to reference this memory, very much 
> like "scope" works in functions now.  But I didn't see any mention of this 
> in the D 2.0 writeup so the idea may have been either discarded or 
> forgotten.

I believe this type of behavior is not necessary.  Whether a member is an 
aggregate or an association, it will be deleted when nothing references it 
anymore, which is when it should be deleted.  The only thing this proposed 
behavior can do is cause segfaults when something that still has a reference 
to a scoped member tries to use it.

-Steve 





More information about the Digitalmars-d mailing list