August 30, 2004 Order of destruction - static vs dynamic destructors | ||||
---|---|---|---|---|
| ||||
There are three individual 'types' of destructor: a) class b) class static c) module static In which order are these invoked during shutdown? If, for example, there is a fixed order whereby all static destructors are invoked first, then some of the issues regarding non-deterministic 'liveness' of object references can be handled more effectively during shutdown. So, what's the scoop? Thanks. |
September 10, 2004 Re: Order of destruction - static vs dynamic destructors | ||||
---|---|---|---|---|
| ||||
Posted in reply to antiAlias | "antiAlias" <fu@bar.com> wrote in message news:cgvrri$2pn0$1@digitaldaemon.com... > There are three individual 'types' of destructor: > > a) class > b) class static > c) module static > > In which order are these invoked during shutdown? If, for example, there is > a fixed order whereby all static destructors are invoked first, then some of > the issues regarding non-deterministic 'liveness' of object references can be handled more effectively during shutdown. > > So, what's the scoop? class destructors may never be run unless they are 'auto'. If they are run, they are run before the static destructrors. Static class destructors and static module destructors are run in the lexical order in which they appear, in the reverse order that the static initializers were done. |
Copyright © 1999-2021 by the D Language Foundation