"scope attribute" vs "scope keyword" vs "scope storage class"
Marc Schütz" <schuetzm at gmx.net>
Marc Schütz" <schuetzm at gmx.net>
Fri Feb 7 02:42:27 PST 2014
On Thursday, 6 February 2014 at 22:16:30 UTC, Dicebot wrote:
> On Thursday, 6 February 2014 at 19:01:52 UTC, Brad Anderson
> wrote:
>> Couldn't "scope" allocating a class on the stack just be
>> considered an optimization that can be applied if the scope
>> storage class become fully implemented?
>
> I think so. Scope classes were unsafe because of leaking
> references but if `scope` is actually implemented to assure
> safety it becomes perfectly valid thing to do.
If you declare something as scope, it is expected to have its
destructor called at the end of the scope. Therefore, this
behavior needs to be guaranteed. Theoretically of course, the
memory could still be allocated on the heap and freed after
destruction (or even just marked as destroyed and letting the GC
clean it up), but this will probably not have advantages over
stack allocation, except maybe for large objects.
More information about the Digitalmars-d-learn
mailing list