[comp.lang.c++] deferral of static constructors

mjs@hpfcso.HP.COM (Marc Sabatella) (12/05/90)

In the 1990 C++ Reference manual, there is an explict mention in 3.4 that
initializiation for a translation unit may be deferred to any point in time
before the first use of a function or object defined in that translation unit.
I can find no such disclaimer in the 1986 edition; in fact there seems to be
the implicit assumption that all such initialization will be performed before
main() is invoked (p. 158).

Was this an intentional change?  Are there existing systems that take advantage
of the relaxed requirement in the newer spec?  I did a literature search at our
library with keywords "constructor", "initialization", "patch", etc, but could
find no reference to techniques for deferring initialization, or what the real
world advantages of such deferral might be.

--------------
Marc Sabatella (marc@hpmonk.fc.hp.com)
Disclaimers:
	2 + 2 = 3, for suitably small values of 2
	Bill and Dave may not always agree with me